home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 October / CMCD1004.ISO / Software / Shareware / Programare / gpssdk / GPS.NET Global Positioning SDK 1.4.6.msi / Data1.cab / MainForm.vb3 < prev    next >
Encoding:
Text File  |  2004-08-25  |  113.5 KB  |  2,229 lines

  1. ' **************************************************************************
  2. ' ****
  3. ' ****   GpsReceiver.NET Global Positioning SDK Example 1
  4. ' ****   A demonstration of GpsReceiver.NET's major features.
  5. ' ****
  6. ' ****   For assistance with your GPS device or for troubleshooting:
  7. ' ****
  8. ' ****          http://www.gpsdotnet.com/support
  9. ' ****          support@gpsdotnet.com
  10. ' ****
  11. ' ****   To view known product issues & updates in the Knowledge Base:
  12. ' ****
  13. ' ****          http://www.gpsdotnet.com/kb
  14. ' ****
  15. ' ****   For pricing information & online ordering:
  16. ' ****
  17. ' ****          http://www.gpsdotnet.com/purchase
  18. ' ****
  19. ' ****   This source code is considered public domain and may be re-used
  20. ' ****   in your own applications.
  21. ' ****
  22. ' *************************************************************************
  23. ' ****
  24. ' ****   NOTE: Since GpsReceiver.NET is multi-threaded, the Invoke() method is
  25. ' ****   used frequently to make sure that updates to form controls occur
  26. ' ****   on the form's thread.  This prevents the application from locking.
  27. ' ****   up, especially for Compact Framework apps.  For more information, 
  28. ' ****   refer to the Knowledge Base.  
  29. ' ****
  30. ' *************************************************************************
  31.  
  32. Imports StormSource.Gps
  33.  
  34. Public Class Form1
  35.     Inherits System.Windows.Forms.Form
  36.  
  37. #Region " Windows Form Designer generated code "
  38.  
  39.     Public Sub New()
  40.         MyBase.New()
  41.  
  42.         'This call is required by the Windows Form Designer.
  43.         InitializeComponent()
  44.  
  45.         'Add any initialization after the InitializeComponent() call
  46.     End Sub
  47.  
  48.     'Form overrides dispose to clean up the component list.
  49.     Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  50.         If disposing Then
  51.             If Not (components Is Nothing) Then
  52.                 components.Dispose()
  53.             End If
  54.         End If
  55.         MyBase.Dispose(disposing)
  56.     End Sub
  57.  
  58.     'Required by the Windows Form Designer
  59.     Private components As System.ComponentModel.IContainer
  60.  
  61.     'NOTE: The following procedure is required by the Windows Form Designer
  62.     'It can be modified using the Windows Form Designer.  
  63.     'Do not modify it using the code editor.
  64.     Friend WithEvents StartButton As System.Windows.Forms.Button
  65.     Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
  66.     Friend WithEvents StatusBar As System.Windows.Forms.StatusBar
  67.     Friend WithEvents Latitude As System.Windows.Forms.Label
  68.     Friend WithEvents Longitude As System.Windows.Forms.Label
  69.     Friend WithEvents Direction As System.Windows.Forms.Label
  70.     Friend WithEvents Altitude As System.Windows.Forms.Label
  71.     Friend WithEvents Speed As System.Windows.Forms.Label
  72.     Friend WithEvents Bearing As System.Windows.Forms.Label
  73.     Friend WithEvents SatelliteList As System.Windows.Forms.ListView
  74.     Friend WithEvents SatelliteID As System.Windows.Forms.ColumnHeader
  75.     Friend WithEvents SatelliteElevation As System.Windows.Forms.ColumnHeader
  76.     Friend WithEvents SatelliteAzimuth As System.Windows.Forms.ColumnHeader
  77.     Friend WithEvents SatelliteSignalStrength As System.Windows.Forms.ColumnHeader
  78.     Friend WithEvents StopButton As System.Windows.Forms.Button
  79.     Friend WithEvents LocalTime As System.Windows.Forms.Label
  80.     Friend WithEvents FixObtained As System.Windows.Forms.Label
  81.     Friend WithEvents FixQuality As System.Windows.Forms.Label
  82.     Friend WithEvents UnrecognizedSentences As System.Windows.Forms.ListBox
  83.     Friend WithEvents MagneticVariation As System.Windows.Forms.Label
  84.     Friend WithEvents ActiveSatellites As System.Windows.Forms.Label
  85.     Friend WithEvents FixedSatellites As System.Windows.Forms.Label
  86.     Friend WithEvents LocalTimeTimer As System.Timers.Timer
  87.     Friend WithEvents TrackedSatellites As System.Windows.Forms.Label
  88.     Friend WithEvents FixMode As System.Windows.Forms.Label
  89.     Friend WithEvents FixMethod As System.Windows.Forms.Label
  90.     Friend WithEvents ColumnHeader1 As System.Windows.Forms.ColumnHeader
  91.     Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader
  92.     Friend WithEvents ColumnHeader3 As System.Windows.Forms.ColumnHeader
  93.     Friend WithEvents DownloadWaypointButton As System.Windows.Forms.Button
  94.     Friend WithEvents RecognizedSentences As System.Windows.Forms.ListBox
  95.     Friend WithEvents MeanDilutionOfPrecision As System.Windows.Forms.Label
  96.     Friend WithEvents VerticalDilutionOfPrecision As System.Windows.Forms.Label
  97.     Friend WithEvents HorizontalDilutionOfPrecision As System.Windows.Forms.Label
  98.     Friend WithEvents UTCDateTime As System.Windows.Forms.Label
  99.     Friend WithEvents WaypointList As System.Windows.Forms.ListView
  100.     Friend WithEvents ColumnHeader4 As System.Windows.Forms.ColumnHeader
  101.     Friend WithEvents ColumnHeader5 As System.Windows.Forms.ColumnHeader
  102.     Friend WithEvents PowerOffButton As System.Windows.Forms.Button
  103.     Friend WithEvents BaudRateLabel As System.Windows.Forms.Label
  104.     Friend WithEvents FixMethodLabel As System.Windows.Forms.Label
  105.     Friend WithEvents TrackedSatellitesLabel As System.Windows.Forms.Label
  106.     Friend WithEvents ActiveSatellitesLabel As System.Windows.Forms.Label
  107.     Friend WithEvents FixQualityLabel As System.Windows.Forms.Label
  108.     Friend WithEvents FixObtainedLabel As System.Windows.Forms.Label
  109.     Friend WithEvents FixModeLabel As System.Windows.Forms.Label
  110.     Friend WithEvents LocalTimeLabel As System.Windows.Forms.Label
  111.     Friend WithEvents SpeedLabel As System.Windows.Forms.Label
  112.     Friend WithEvents FixedSatellitesLabel As System.Windows.Forms.Label
  113.     Friend WithEvents UTCDateTimeLabel As System.Windows.Forms.Label
  114.     Friend WithEvents BearingLabel As System.Windows.Forms.Label
  115.     Friend WithEvents AltitudeLabel As System.Windows.Forms.Label
  116.     Friend WithEvents LongitudeLabel As System.Windows.Forms.Label
  117.     Friend WithEvents LatitudeLabel As System.Windows.Forms.Label
  118.     Friend WithEvents MagneticVariationLabel As System.Windows.Forms.Label
  119.     Friend WithEvents MeanDilutionOfPrecisionLabel As System.Windows.Forms.Label
  120.     Friend WithEvents VerticalDilutionOfPrecisionLabel As System.Windows.Forms.Label
  121.     Friend WithEvents HorizontalDilutionOfPrecisionLabel As System.Windows.Forms.Label
  122.     Friend WithEvents DirectionLabel As System.Windows.Forms.Label
  123.     Friend WithEvents RecognizedSentencesLabel As System.Windows.Forms.Label
  124.     Friend WithEvents UnrecognizedSentencesLabel As System.Windows.Forms.Label
  125.     Friend WithEvents EditWaypointButton As System.Windows.Forms.Button
  126.     Friend WithEvents NewWaypointButton As System.Windows.Forms.Button
  127.     Friend WithEvents SatelliteTabPage As System.Windows.Forms.TabPage
  128.     Friend WithEvents WaypointTabPage As System.Windows.Forms.TabPage
  129.     Friend WithEvents RawDataTabPage As System.Windows.Forms.TabPage
  130.     Friend WithEvents DeviceTabPage As System.Windows.Forms.TabPage
  131.     Friend WithEvents DeviceInformationGroupBox As System.Windows.Forms.GroupBox
  132.     Friend WithEvents SupportsRoutes As System.Windows.Forms.Label
  133.     Friend WithEvents SupportsTracks As System.Windows.Forms.Label
  134.     Friend WithEvents SupportsWaypoints As System.Windows.Forms.Label
  135.     Friend WithEvents SupportsRoutesLabel As System.Windows.Forms.Label
  136.     Friend WithEvents SupportsTracksLabel As System.Windows.Forms.Label
  137.     Friend WithEvents SupportsWaypointsLabel As System.Windows.Forms.Label
  138.     Friend WithEvents BatteryLifeLabel As System.Windows.Forms.Label
  139.     Friend WithEvents BatteryLife As System.Windows.Forms.Label
  140.     Friend WithEvents ProtocolLabel As System.Windows.Forms.Label
  141.     Friend WithEvents Protocol As System.Windows.Forms.Label
  142.     Friend WithEvents SoftwareVersion As System.Windows.Forms.Label
  143.     Friend WithEvents SoftwareVersionLabel As System.Windows.Forms.Label
  144.     Friend WithEvents DeviceName As System.Windows.Forms.Label
  145.     Friend WithEvents ManufacturerLabel As System.Windows.Forms.Label
  146.     Friend WithEvents Manufacturer As System.Windows.Forms.Label
  147.     Friend WithEvents DeviceNameLabel As System.Windows.Forms.Label
  148.     Friend WithEvents SupportedWaypointFeaturesGroupBox As System.Windows.Forms.GroupBox
  149.     Friend WithEvents WaypointIntersectingRoadCheckbox As System.Windows.Forms.CheckBox
  150.     Friend WithEvents WaypointCountryCheckbox As System.Windows.Forms.CheckBox
  151.     Friend WithEvents WaypointDepthCheckbox As System.Windows.Forms.CheckBox
  152.     Friend WithEvents WaypointFacilityNameCheckbox As System.Windows.Forms.CheckBox
  153.     Friend WithEvents WaypointCityCheckbox As System.Windows.Forms.CheckBox
  154.     Friend WithEvents WaypointStateCheckbox As System.Windows.Forms.CheckBox
  155.     Friend WithEvents WaypointAddressCheckbox As System.Windows.Forms.CheckBox
  156.     Friend WithEvents WaypointAltitudeCheckbox As System.Windows.Forms.CheckBox
  157.     Friend WithEvents WaypointSymbolCheckbox As System.Windows.Forms.CheckBox
  158.     Friend WithEvents WaypointColorCheckbox As System.Windows.Forms.CheckBox
  159.     Friend WithEvents WaypointCommentCheckbox As System.Windows.Forms.CheckBox
  160.     Friend WithEvents WaypointDisplayModeCheckbox As System.Windows.Forms.CheckBox
  161.     Friend WithEvents PositionTabPage As System.Windows.Forms.TabPage
  162.     Friend WithEvents WaypointSymbolComboBox As System.Windows.Forms.ComboBox
  163.     Friend WithEvents WaypointColorComboBox As System.Windows.Forms.ComboBox
  164.     Friend WithEvents WaypointDisplayModeComboBox As System.Windows.Forms.ComboBox
  165.     Friend WithEvents WaypointInstructionsLabel As System.Windows.Forms.Label
  166.     Friend WithEvents ComPortLabel As System.Windows.Forms.Label
  167.     Friend WithEvents ParsingText As System.Windows.Forms.TextBox
  168.     Friend WithEvents ParseButton As System.Windows.Forms.Button
  169.     Friend WithEvents ErrorTabPage As System.Windows.Forms.TabPage
  170.     Friend WithEvents ParsingExceptionTextBox As System.Windows.Forms.TextBox
  171.     Friend WithEvents GpsExceptionTextBox As System.Windows.Forms.TextBox
  172.     Friend WithEvents OriginWaypointLabel As System.Windows.Forms.Label
  173.     Friend WithEvents OriginWaypoint As System.Windows.Forms.Label
  174.     Friend WithEvents DestinationWaypoint As System.Windows.Forms.Label
  175.     Friend WithEvents CrossTrackError As System.Windows.Forms.Label
  176.     Friend WithEvents RecommendedSteeringDirection As System.Windows.Forms.Label
  177.     Friend WithEvents RecommendedSteeringDirectionLabel As System.Windows.Forms.Label
  178.     Friend WithEvents UtmPosition As System.Windows.Forms.Label
  179.     Friend WithEvents UtmPositionLabel As System.Windows.Forms.Label
  180.     Friend WithEvents ShowCompassCheckBox As System.Windows.Forms.CheckBox
  181.     Friend WithEvents ShowPrcCheckBox As System.Windows.Forms.CheckBox
  182.     Friend WithEvents FlickerFreeDemoCheckBox As System.Windows.Forms.CheckBox
  183.     Friend WithEvents BaudRateComboBox As StormSource.Gps.Controls.BaudRateComboBox
  184.     Friend WithEvents ComPortComboBox As StormSource.Gps.Controls.ComPortComboBox
  185.     Friend WithEvents SatelliteViewer As StormSource.Gps.Controls.SatelliteViewer
  186.     Friend WithEvents GpsReceiver As StormSource.Gps.Receiver
  187.     Friend WithEvents FixLikelihoodLabel As System.Windows.Forms.Label
  188.     Friend WithEvents FixLikelihood As System.Windows.Forms.Label
  189.     Friend WithEvents ParsingTextLabel As System.Windows.Forms.Label
  190.     Friend WithEvents GpsExceptionLabel As System.Windows.Forms.Label
  191.     Friend WithEvents ParsingExceptionLabel As System.Windows.Forms.Label
  192.     Friend WithEvents CrossTrackErrorLabel As System.Windows.Forms.Label
  193.     Friend WithEvents DestinationWaypointLabel As System.Windows.Forms.Label
  194.     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  195.         Dim ListViewItem1 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  196.         Dim ListViewItem2 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  197.         Dim ListViewItem3 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  198.         Dim ListViewItem4 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  199.         Dim ListViewItem5 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  200.         Dim ListViewItem6 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  201.         Dim ListViewItem7 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  202.         Dim ListViewItem8 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  203.         Dim ListViewItem9 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  204.         Dim ListViewItem10 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  205.         Dim ListViewItem11 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  206.         Dim ListViewItem12 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  207.         Dim ListViewItem13 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  208.         Dim ListViewItem14 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  209.         Dim ListViewItem15 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  210.         Dim ListViewItem16 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem(New System.Windows.Forms.ListViewItem.ListViewSubItem() {New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "", System.Drawing.SystemColors.WindowText, System.Drawing.SystemColors.Window, New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, ""), New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, "")}, -1)
  211.         Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
  212.         Me.StartButton = New System.Windows.Forms.Button()
  213.         Me.StopButton = New System.Windows.Forms.Button()
  214.         Me.StatusBar = New System.Windows.Forms.StatusBar()
  215.         Me.TabControl1 = New System.Windows.Forms.TabControl()
  216.         Me.RawDataTabPage = New System.Windows.Forms.TabPage()
  217.         Me.ParseButton = New System.Windows.Forms.Button()
  218.         Me.ParsingTextLabel = New System.Windows.Forms.Label()
  219.         Me.ParsingText = New System.Windows.Forms.TextBox()
  220.         Me.RecognizedSentencesLabel = New System.Windows.Forms.Label()
  221.         Me.UnrecognizedSentencesLabel = New System.Windows.Forms.Label()
  222.         Me.UnrecognizedSentences = New System.Windows.Forms.ListBox()
  223.         Me.RecognizedSentences = New System.Windows.Forms.ListBox()
  224.         Me.PositionTabPage = New System.Windows.Forms.TabPage()
  225.         Me.UtmPosition = New System.Windows.Forms.Label()
  226.         Me.UtmPositionLabel = New System.Windows.Forms.Label()
  227.         Me.FixMethod = New System.Windows.Forms.Label()
  228.         Me.FixMethodLabel = New System.Windows.Forms.Label()
  229.         Me.TrackedSatellites = New System.Windows.Forms.Label()
  230.         Me.TrackedSatellitesLabel = New System.Windows.Forms.Label()
  231.         Me.FixedSatellites = New System.Windows.Forms.Label()
  232.         Me.ActiveSatellitesLabel = New System.Windows.Forms.Label()
  233.         Me.MagneticVariation = New System.Windows.Forms.Label()
  234.         Me.MagneticVariationLabel = New System.Windows.Forms.Label()
  235.         Me.MeanDilutionOfPrecision = New System.Windows.Forms.Label()
  236.         Me.MeanDilutionOfPrecisionLabel = New System.Windows.Forms.Label()
  237.         Me.VerticalDilutionOfPrecision = New System.Windows.Forms.Label()
  238.         Me.VerticalDilutionOfPrecisionLabel = New System.Windows.Forms.Label()
  239.         Me.HorizontalDilutionOfPrecision = New System.Windows.Forms.Label()
  240.         Me.HorizontalDilutionOfPrecisionLabel = New System.Windows.Forms.Label()
  241.         Me.FixQuality = New System.Windows.Forms.Label()
  242.         Me.FixQualityLabel = New System.Windows.Forms.Label()
  243.         Me.FixObtained = New System.Windows.Forms.Label()
  244.         Me.FixObtainedLabel = New System.Windows.Forms.Label()
  245.         Me.FixMode = New System.Windows.Forms.Label()
  246.         Me.FixModeLabel = New System.Windows.Forms.Label()
  247.         Me.LocalTime = New System.Windows.Forms.Label()
  248.         Me.LocalTimeLabel = New System.Windows.Forms.Label()
  249.         Me.Speed = New System.Windows.Forms.Label()
  250.         Me.SpeedLabel = New System.Windows.Forms.Label()
  251.         Me.ActiveSatellites = New System.Windows.Forms.Label()
  252.         Me.FixedSatellitesLabel = New System.Windows.Forms.Label()
  253.         Me.UTCDateTime = New System.Windows.Forms.Label()
  254.         Me.UTCDateTimeLabel = New System.Windows.Forms.Label()
  255.         Me.Direction = New System.Windows.Forms.Label()
  256.         Me.DirectionLabel = New System.Windows.Forms.Label()
  257.         Me.Bearing = New System.Windows.Forms.Label()
  258.         Me.Altitude = New System.Windows.Forms.Label()
  259.         Me.Longitude = New System.Windows.Forms.Label()
  260.         Me.Latitude = New System.Windows.Forms.Label()
  261.         Me.BearingLabel = New System.Windows.Forms.Label()
  262.         Me.LongitudeLabel = New System.Windows.Forms.Label()
  263.         Me.AltitudeLabel = New System.Windows.Forms.Label()
  264.         Me.LatitudeLabel = New System.Windows.Forms.Label()
  265.         Me.SatelliteTabPage = New System.Windows.Forms.TabPage()
  266.         Me.FixLikelihoodLabel = New System.Windows.Forms.Label()
  267.         Me.SatelliteViewer = New StormSource.Gps.Controls.SatelliteViewer()
  268.         Me.ShowCompassCheckBox = New System.Windows.Forms.CheckBox()
  269.         Me.ShowPrcCheckBox = New System.Windows.Forms.CheckBox()
  270.         Me.FlickerFreeDemoCheckBox = New System.Windows.Forms.CheckBox()
  271.         Me.SatelliteList = New System.Windows.Forms.ListView()
  272.         Me.SatelliteID = New System.Windows.Forms.ColumnHeader()
  273.         Me.SatelliteElevation = New System.Windows.Forms.ColumnHeader()
  274.         Me.SatelliteAzimuth = New System.Windows.Forms.ColumnHeader()
  275.         Me.SatelliteSignalStrength = New System.Windows.Forms.ColumnHeader()
  276.         Me.FixLikelihood = New System.Windows.Forms.Label()
  277.         Me.DeviceTabPage = New System.Windows.Forms.TabPage()
  278.         Me.SupportedWaypointFeaturesGroupBox = New System.Windows.Forms.GroupBox()
  279.         Me.WaypointDisplayModeComboBox = New System.Windows.Forms.ComboBox()
  280.         Me.WaypointColorComboBox = New System.Windows.Forms.ComboBox()
  281.         Me.WaypointSymbolComboBox = New System.Windows.Forms.ComboBox()
  282.         Me.WaypointIntersectingRoadCheckbox = New System.Windows.Forms.CheckBox()
  283.         Me.WaypointCountryCheckbox = New System.Windows.Forms.CheckBox()
  284.         Me.WaypointDepthCheckbox = New System.Windows.Forms.CheckBox()
  285.         Me.WaypointFacilityNameCheckbox = New System.Windows.Forms.CheckBox()
  286.         Me.WaypointCityCheckbox = New System.Windows.Forms.CheckBox()
  287.         Me.WaypointStateCheckbox = New System.Windows.Forms.CheckBox()
  288.         Me.WaypointAddressCheckbox = New System.Windows.Forms.CheckBox()
  289.         Me.WaypointAltitudeCheckbox = New System.Windows.Forms.CheckBox()
  290.         Me.WaypointDisplayModeCheckbox = New System.Windows.Forms.CheckBox()
  291.         Me.WaypointSymbolCheckbox = New System.Windows.Forms.CheckBox()
  292.         Me.WaypointColorCheckbox = New System.Windows.Forms.CheckBox()
  293.         Me.WaypointCommentCheckbox = New System.Windows.Forms.CheckBox()
  294.         Me.DeviceInformationGroupBox = New System.Windows.Forms.GroupBox()
  295.         Me.SupportsRoutes = New System.Windows.Forms.Label()
  296.         Me.SupportsTracks = New System.Windows.Forms.Label()
  297.         Me.SupportsWaypoints = New System.Windows.Forms.Label()
  298.         Me.SupportsRoutesLabel = New System.Windows.Forms.Label()
  299.         Me.SupportsTracksLabel = New System.Windows.Forms.Label()
  300.         Me.SupportsWaypointsLabel = New System.Windows.Forms.Label()
  301.         Me.BatteryLifeLabel = New System.Windows.Forms.Label()
  302.         Me.BatteryLife = New System.Windows.Forms.Label()
  303.         Me.ProtocolLabel = New System.Windows.Forms.Label()
  304.         Me.Protocol = New System.Windows.Forms.Label()
  305.         Me.SoftwareVersion = New System.Windows.Forms.Label()
  306.         Me.SoftwareVersionLabel = New System.Windows.Forms.Label()
  307.         Me.DeviceName = New System.Windows.Forms.Label()
  308.         Me.ManufacturerLabel = New System.Windows.Forms.Label()
  309.         Me.Manufacturer = New System.Windows.Forms.Label()
  310.         Me.DeviceNameLabel = New System.Windows.Forms.Label()
  311.         Me.PowerOffButton = New System.Windows.Forms.Button()
  312.         Me.ErrorTabPage = New System.Windows.Forms.TabPage()
  313.         Me.GpsExceptionTextBox = New System.Windows.Forms.TextBox()
  314.         Me.GpsExceptionLabel = New System.Windows.Forms.Label()
  315.         Me.ParsingExceptionTextBox = New System.Windows.Forms.TextBox()
  316.         Me.ParsingExceptionLabel = New System.Windows.Forms.Label()
  317.         Me.WaypointTabPage = New System.Windows.Forms.TabPage()
  318.         Me.RecommendedSteeringDirection = New System.Windows.Forms.Label()
  319.         Me.RecommendedSteeringDirectionLabel = New System.Windows.Forms.Label()
  320.         Me.CrossTrackError = New System.Windows.Forms.Label()
  321.         Me.CrossTrackErrorLabel = New System.Windows.Forms.Label()
  322.         Me.DestinationWaypoint = New System.Windows.Forms.Label()
  323.         Me.DestinationWaypointLabel = New System.Windows.Forms.Label()
  324.         Me.OriginWaypoint = New System.Windows.Forms.Label()
  325.         Me.OriginWaypointLabel = New System.Windows.Forms.Label()
  326.         Me.WaypointInstructionsLabel = New System.Windows.Forms.Label()
  327.         Me.NewWaypointButton = New System.Windows.Forms.Button()
  328.         Me.EditWaypointButton = New System.Windows.Forms.Button()
  329.         Me.DownloadWaypointButton = New System.Windows.Forms.Button()
  330.         Me.WaypointList = New System.Windows.Forms.ListView()
  331.         Me.ColumnHeader1 = New System.Windows.Forms.ColumnHeader()
  332.         Me.ColumnHeader2 = New System.Windows.Forms.ColumnHeader()
  333.         Me.ColumnHeader3 = New System.Windows.Forms.ColumnHeader()
  334.         Me.ColumnHeader5 = New System.Windows.Forms.ColumnHeader()
  335.         Me.ColumnHeader4 = New System.Windows.Forms.ColumnHeader()
  336.         Me.LocalTimeTimer = New System.Timers.Timer()
  337.         Me.ComPortLabel = New System.Windows.Forms.Label()
  338.         Me.BaudRateLabel = New System.Windows.Forms.Label()
  339.         Me.BaudRateComboBox = New StormSource.Gps.Controls.BaudRateComboBox()
  340.         Me.ComPortComboBox = New StormSource.Gps.Controls.ComPortComboBox()
  341.         Me.GpsReceiver = New StormSource.Gps.Receiver()
  342.         Me.TabControl1.SuspendLayout()
  343.         Me.RawDataTabPage.SuspendLayout()
  344.         Me.PositionTabPage.SuspendLayout()
  345.         Me.SatelliteTabPage.SuspendLayout()
  346.         Me.DeviceTabPage.SuspendLayout()
  347.         Me.SupportedWaypointFeaturesGroupBox.SuspendLayout()
  348.         Me.DeviceInformationGroupBox.SuspendLayout()
  349.         Me.ErrorTabPage.SuspendLayout()
  350.         Me.WaypointTabPage.SuspendLayout()
  351.         CType(Me.LocalTimeTimer, System.ComponentModel.ISupportInitialize).BeginInit()
  352.         Me.SuspendLayout()
  353.         '
  354.         'StartButton
  355.         '
  356.         Me.StartButton.Anchor = (System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right)
  357.         Me.StartButton.FlatStyle = System.Windows.Forms.FlatStyle.System
  358.         Me.StartButton.Location = New System.Drawing.Point(423, 105)
  359.         Me.StartButton.Name = "StartButton"
  360.         Me.StartButton.Size = New System.Drawing.Size(72, 24)
  361.         Me.StartButton.TabIndex = 0
  362.         Me.StartButton.Text = "Start"
  363.         '
  364.         'StopButton
  365.         '
  366.         Me.StopButton.Anchor = (System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right)
  367.         Me.StopButton.Enabled = False
  368.         Me.StopButton.FlatStyle = System.Windows.Forms.FlatStyle.System
  369.         Me.StopButton.Location = New System.Drawing.Point(423, 135)
  370.         Me.StopButton.Name = "StopButton"
  371.         Me.StopButton.Size = New System.Drawing.Size(72, 24)
  372.         Me.StopButton.TabIndex = 1
  373.         Me.StopButton.Text = "Stop"
  374.         '
  375.         'StatusBar
  376.         '
  377.         Me.StatusBar.Location = New System.Drawing.Point(0, 527)
  378.         Me.StatusBar.Name = "StatusBar"
  379.         Me.StatusBar.Size = New System.Drawing.Size(508, 18)
  380.         Me.StatusBar.TabIndex = 3
  381.         Me.StatusBar.Text = "Ready"
  382.         '
  383.         'TabControl1
  384.         '
  385.         Me.TabControl1.Anchor = (((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
  386.                                 Or System.Windows.Forms.AnchorStyles.Left) _
  387.                                 Or System.Windows.Forms.AnchorStyles.Right)
  388.         Me.TabControl1.Controls.AddRange(New System.Windows.Forms.Control() {Me.RawDataTabPage, Me.PositionTabPage, Me.SatelliteTabPage, Me.DeviceTabPage, Me.ErrorTabPage, Me.WaypointTabPage})
  389.         Me.TabControl1.Location = New System.Drawing.Point(6, 9)
  390.         Me.TabControl1.Name = "TabControl1"
  391.         Me.TabControl1.SelectedIndex = 0
  392.         Me.TabControl1.Size = New System.Drawing.Size(405, 513)
  393.         Me.TabControl1.TabIndex = 4
  394.         '
  395.         'RawDataTabPage
  396.         '
  397.         Me.RawDataTabPage.BackColor = System.Drawing.SystemColors.Control
  398.         Me.RawDataTabPage.Controls.AddRange(New System.Windows.Forms.Control() {Me.ParseButton, Me.ParsingTextLabel, Me.ParsingText, Me.RecognizedSentencesLabel, Me.UnrecognizedSentencesLabel, Me.UnrecognizedSentences, Me.RecognizedSentences})
  399.         Me.RawDataTabPage.Location = New System.Drawing.Point(4, 22)
  400.         Me.RawDataTabPage.Name = "RawDataTabPage"
  401.         Me.RawDataTabPage.Size = New System.Drawing.Size(397, 487)
  402.         Me.RawDataTabPage.TabIndex = 2
  403.         Me.RawDataTabPage.Text = "Raw Data"
  404.         '
  405.         'ParseButton
  406.         '
  407.         Me.ParseButton.Anchor = (System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right)
  408.         Me.ParseButton.FlatStyle = System.Windows.Forms.FlatStyle.System
  409.         Me.ParseButton.Location = New System.Drawing.Point(318, 303)
  410.         Me.ParseButton.Name = "ParseButton"
  411.         Me.ParseButton.Size = New System.Drawing.Size(72, 24)
  412.         Me.ParseButton.TabIndex = 11
  413.         Me.ParseButton.Text = "Parse"
  414.         '
  415.         'ParsingTextLabel
  416.         '
  417.         Me.ParsingTextLabel.Anchor = (System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left)
  418.         Me.ParsingTextLabel.AutoSize = True
  419.         Me.ParsingTextLabel.Location = New System.Drawing.Point(9, 285)
  420.         Me.ParsingTextLabel.Name = "ParsingTextLabel"
  421.         Me.ParsingTextLabel.Size = New System.Drawing.Size(85, 13)
  422.         Me.ParsingTextLabel.TabIndex = 10
  423.         Me.ParsingTextLabel.Text = "Manual parsing:"
  424.         '
  425.         'ParsingText
  426.         '
  427.         Me.ParsingText.Anchor = ((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
  428.                                 Or System.Windows.Forms.AnchorStyles.Right)
  429.         Me.ParsingText.Location = New System.Drawing.Point(6, 303)
  430.         Me.ParsingText.Multiline = True
  431.         Me.ParsingText.Name = "ParsingText"
  432.         Me.ParsingText.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
  433.         Me.ParsingText.Size = New System.Drawing.Size(306, 87)
  434.         Me.ParsingText.TabIndex = 9
  435.         Me.ParsingText.Text = "(Enter data to parse here then click the Parse button)"
  436.         '
  437.         'RecognizedSentencesLabel
  438.         '
  439.         Me.RecognizedSentencesLabel.AllowDrop = True
  440.         Me.RecognizedSentencesLabel.Location = New System.Drawing.Point(6, 6)
  441.         Me.RecognizedSentencesLabel.Name = "RecognizedSentencesLabel"
  442.         Me.RecognizedSentencesLabel.Size = New System.Drawing.Size(141, 15)
  443.         Me.RecognizedSentencesLabel.TabIndex = 8
  444.         Me.RecognizedSentencesLabel.Text = "All Recognized Sentences:"
  445.         '
  446.         'UnrecognizedSentencesLabel
  447.         '
  448.         Me.UnrecognizedSentencesLabel.Anchor = (System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left)
  449.         Me.UnrecognizedSentencesLabel.AutoSize = True
  450.         Me.UnrecognizedSentencesLabel.Location = New System.Drawing.Point(6, 396)
  451.         Me.UnrecognizedSentencesLabel.Name = "UnrecognizedSentencesLabel"
  452.         Me.UnrecognizedSentencesLabel.Size = New System.Drawing.Size(134, 13)
  453.         Me.UnrecognizedSentencesLabel.TabIndex = 7
  454.         Me.UnrecognizedSentencesLabel.Text = "Unrecognized Sentences:"
  455.         '
  456.         'UnrecognizedSentences
  457.         '
  458.         Me.UnrecognizedSentences.Anchor = ((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
  459.                                 Or System.Windows.Forms.AnchorStyles.Right)
  460.         Me.UnrecognizedSentences.IntegralHeight = False
  461.         Me.UnrecognizedSentences.Location = New System.Drawing.Point(6, 414)
  462.         Me.UnrecognizedSentences.Name = "UnrecognizedSentences"
  463.         Me.UnrecognizedSentences.Size = New System.Drawing.Size(384, 66)
  464.         Me.UnrecognizedSentences.TabIndex = 6
  465.         '
  466.         'RecognizedSentences
  467.         '
  468.         Me.RecognizedSentences.Anchor = (((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
  469.                                 Or System.Windows.Forms.AnchorStyles.Left) _
  470.                                 Or System.Windows.Forms.AnchorStyles.Right)
  471.         Me.RecognizedSentences.IntegralHeight = False
  472.         Me.RecognizedSentences.Location = New System.Drawing.Point(6, 24)
  473.         Me.RecognizedSentences.Name = "RecognizedSentences"
  474.         Me.RecognizedSentences.ScrollAlwaysVisible = True
  475.         Me.RecognizedSentences.Size = New System.Drawing.Size(384, 255)
  476.         Me.RecognizedSentences.TabIndex = 4
  477.         '
  478.         'PositionTabPage
  479.         '
  480.         Me.PositionTabPage.BackColor = System.Drawing.SystemColors.Control
  481.         Me.PositionTabPage.Controls.AddRange(New System.Windows.Forms.Control() {Me.UtmPosition, Me.UtmPositionLabel, Me.FixMethod, Me.FixMethodLabel, Me.TrackedSatellites, Me.TrackedSatellitesLabel, Me.FixedSatellites, Me.ActiveSatellitesLabel, Me.MagneticVariation, Me.MagneticVariationLabel, Me.MeanDilutionOfPrecision, Me.MeanDilutionOfPrecisionLabel, Me.VerticalDilutionOfPrecision, Me.VerticalDilutionOfPrecisionLabel, Me.HorizontalDilutionOfPrecision, Me.HorizontalDilutionOfPrecisionLabel, Me.FixQuality, Me.FixQualityLabel, Me.FixObtained, Me.FixObtainedLabel, Me.FixMode, Me.FixModeLabel, Me.LocalTime, Me.LocalTimeLabel, Me.Speed, Me.SpeedLabel, Me.ActiveSatellites, Me.FixedSatellitesLabel, Me.UTCDateTime, Me.UTCDateTimeLabel, Me.Direction, Me.DirectionLabel, Me.Bearing, Me.Altitude, Me.Longitude, Me.Latitude, Me.BearingLabel, Me.LongitudeLabel, Me.AltitudeLabel, Me.LatitudeLabel})
  482.         Me.PositionTabPage.Location = New System.Drawing.Point(4, 22)
  483.         Me.PositionTabPage.Name = "PositionTabPage"
  484.         Me.PositionTabPage.Size = New System.Drawing.Size(397, 487)
  485.         Me.PositionTabPage.TabIndex = 0
  486.         Me.PositionTabPage.Text = "Position"
  487.         '
  488.         'UtmPosition
  489.         '
  490.         Me.UtmPosition.Font = New System.Drawing.Font("Courier New", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
  491.         Me.UtmPosition.Location = New System.Drawing.Point(102, 273)
  492.         Me.UtmPosition.Name = "UtmPosition"
  493.         Me.UtmPosition.Size = New System.Drawing.Size(249, 18)
  494.         Me.UtmPosition.TabIndex = 41
  495.         Me.UtmPosition.Text = "(Unknown)"
  496.         '
  497.         'UtmPositionLabel
  498.         '
  499.         Me.UtmPositionLabel.Location = New System.Drawing.Point(9, 273)
  500.         Me.UtmPositionLabel.Name = "UtmPositionLabel"
  501.         Me.UtmPositionLabel.Size = New System.Drawing.Size(87, 18)
  502.         Me.UtmPositionLabel.TabIndex = 40
  503.         Me.UtmPositionLabel.Text = "UTM Position:"
  504.         '
  505.         'FixMethod
  506.         '
  507.         Me.FixMethod.Location = New System.Drawing.Point(102, 153)
  508.         Me.FixMethod.Name = "FixMethod"
  509.         Me.FixMethod.Size = New System.Drawing.Size(249, 18)
  510.         Me.FixMethod.TabIndex = 39
  511.         Me.FixMethod.Text = "(Unknown)"
  512.         '
  513.         'FixMethodLabel
  514.         '
  515.         Me.FixMethodLabel.Location = New System.Drawing.Point(9, 153)
  516.         Me.FixMethodLabel.Name = "FixMethodLabel"
  517.         Me.FixMethodLabel.Size = New System.Drawing.Size(87, 18)
  518.         Me.FixMethodLabel.TabIndex = 38
  519.         Me.FixMethodLabel.Text = "Fix Method:"
  520.         '
  521.         'TrackedSatellites
  522.         '
  523.         Me.TrackedSatellites.Location = New System.Drawing.Point(102, 57)
  524.         Me.TrackedSatellites.Name = "TrackedSatellites"
  525.         Me.TrackedSatellites.Size = New System.Drawing.Size(249, 18)
  526.         Me.TrackedSatellites.TabIndex = 37
  527.         Me.TrackedSatellites.Text = "(Unknown)"
  528.         '
  529.         'TrackedSatellitesLabel
  530.         '
  531.         Me.TrackedSatellitesLabel.Location = New System.Drawing.Point(9, 57)
  532.         Me.TrackedSatellitesLabel.Name = "TrackedSatellitesLabel"
  533.         Me.TrackedSatellitesLabel.Size = New System.Drawing.Size(87, 18)
  534.         Me.TrackedSatellitesLabel.TabIndex = 36
  535.         Me.TrackedSatellitesLabel.Text = "Tracked Sat.:"
  536.         '
  537.         'FixedSatellites
  538.         '
  539.         Me.FixedSatellites.Location = New System.Drawing.Point(102, 33)
  540.         Me.FixedSatellites.Name = "FixedSatellites"
  541.         Me.FixedSatellites.Size = New System.Drawing.Size(249, 18)
  542.         Me.FixedSatellites.TabIndex = 35
  543.         Me.FixedSatellites.Text = "(Unknown)"
  544.         '
  545.         'ActiveSatellitesLabel
  546.         '
  547.         Me.ActiveSatellitesLabel.Location = New System.Drawing.Point(9, 9)
  548.         Me.ActiveSatellitesLabel.Name = "ActiveSatellitesLabel"
  549.         Me.ActiveSatellitesLabel.Size = New System.Drawing.Size(87, 18)
  550.         Me.ActiveSatellitesLabel.TabIndex = 34
  551.         Me.ActiveSatellitesLabel.Text = "Active Satellites:"
  552.         '
  553.         'MagneticVariation
  554.         '
  555.         Me.MagneticVariation.Font = New System.Drawing.Font("Courier New", 8.25!)
  556.         Me.MagneticVariation.Location = New System.Drawing.Point(102, 465)
  557.         Me.MagneticVariation.Name = "MagneticVariation"
  558.         Me.MagneticVariation.Size = New System.Drawing.Size(249, 18)
  559.         Me.MagneticVariation.TabIndex = 33
  560.         Me.MagneticVariation.Text = "(Unknown)"
  561.         '
  562.         'MagneticVariationLabel
  563.         '
  564.         Me.MagneticVariationLabel.Location = New System.Drawing.Point(9, 465)
  565.         Me.MagneticVariationLabel.Name = "MagneticVariationLabel"
  566.         Me.MagneticVariationLabel.Size = New System.Drawing.Size(87, 18)
  567.         Me.MagneticVariationLabel.TabIndex = 32
  568.         Me.MagneticVariationLabel.Text = "Magnetic Var.:"
  569.         '
  570.         'MeanDilutionOfPrecision
  571.         '
  572.         Me.MeanDilutionOfPrecision.Location = New System.Drawing.Point(102, 393)
  573.         Me.MeanDilutionOfPrecision.Name = "MeanDilutionOfPrecision"
  574.         Me.MeanDilutionOfPrecision.Size = New System.Drawing.Size(249, 18)
  575.         Me.MeanDilutionOfPrecision.TabIndex = 31
  576.         Me.MeanDilutionOfPrecision.Text = "(Unknown)"
  577.         '
  578.         'MeanDilutionOfPrecisionLabel
  579.         '
  580.         Me.MeanDilutionOfPrecisionLabel.Location = New System.Drawing.Point(9, 393)
  581.         Me.MeanDilutionOfPrecisionLabel.Name = "MeanDilutionOfPrecisionLabel"
  582.         Me.MeanDilutionOfPrecisionLabel.Size = New System.Drawing.Size(87, 18)
  583.         Me.MeanDilutionOfPrecisionLabel.TabIndex = 30
  584.         Me.MeanDilutionOfPrecisionLabel.Text = "PDOP:"
  585.         '
  586.         'VerticalDilutionOfPrecision
  587.         '
  588.         Me.VerticalDilutionOfPrecision.Location = New System.Drawing.Point(102, 441)
  589.         Me.VerticalDilutionOfPrecision.Name = "VerticalDilutionOfPrecision"
  590.         Me.VerticalDilutionOfPrecision.Size = New System.Drawing.Size(249, 18)
  591.         Me.VerticalDilutionOfPrecision.TabIndex = 29
  592.         Me.VerticalDilutionOfPrecision.Text = "(Unknown)"
  593.         '
  594.         'VerticalDilutionOfPrecisionLabel
  595.         '
  596.         Me.VerticalDilutionOfPrecisionLabel.Location = New System.Drawing.Point(9, 441)
  597.         Me.VerticalDilutionOfPrecisionLabel.Name = "VerticalDilutionOfPrecisionLabel"
  598.         Me.VerticalDilutionOfPrecisionLabel.Size = New System.Drawing.Size(87, 18)
  599.         Me.VerticalDilutionOfPrecisionLabel.TabIndex = 28
  600.         Me.VerticalDilutionOfPrecisionLabel.Text = "VDOP:"
  601.         '
  602.         'HorizontalDilutionOfPrecision
  603.         '
  604.         Me.HorizontalDilutionOfPrecision.Location = New System.Drawing.Point(102, 417)
  605.         Me.HorizontalDilutionOfPrecision.Name = "HorizontalDilutionOfPrecision"
  606.         Me.HorizontalDilutionOfPrecision.Size = New System.Drawing.Size(249, 18)
  607.         Me.HorizontalDilutionOfPrecision.TabIndex = 27
  608.         Me.HorizontalDilutionOfPrecision.Text = "(Unknown)"
  609.         '
  610.         'HorizontalDilutionOfPrecisionLabel
  611.         '
  612.         Me.HorizontalDilutionOfPrecisionLabel.Location = New System.Drawing.Point(9, 417)
  613.         Me.HorizontalDilutionOfPrecisionLabel.Name = "HorizontalDilutionOfPrecisionLabel"
  614.         Me.HorizontalDilutionOfPrecisionLabel.Size = New System.Drawing.Size(87, 18)
  615.         Me.HorizontalDilutionOfPrecisionLabel.TabIndex = 26
  616.         Me.HorizontalDilutionOfPrecisionLabel.Text = "HDOP:"
  617.         '
  618.         'FixQuality
  619.         '
  620.         Me.FixQuality.Location = New System.Drawing.Point(102, 177)
  621.         Me.FixQuality.Name = "FixQuality"
  622.         Me.FixQuality.Size = New System.Drawing.Size(249, 18)
  623.         Me.FixQuality.TabIndex = 25
  624.         Me.FixQuality.Text = "(Unknown)"
  625.         '
  626.         'FixQualityLabel
  627.         '
  628.         Me.FixQualityLabel.Location = New System.Drawing.Point(9, 177)
  629.         Me.FixQualityLabel.Name = "FixQualityLabel"
  630.         Me.FixQualityLabel.Size = New System.Drawing.Size(87, 18)
  631.         Me.FixQualityLabel.TabIndex = 24
  632.         Me.FixQualityLabel.Text = "Fix Quality:"
  633.         '
  634.         'FixObtained
  635.         '
  636.         Me.FixObtained.Location = New System.Drawing.Point(102, 201)
  637.         Me.FixObtained.Name = "FixObtained"
  638.         Me.FixObtained.Size = New System.Drawing.Size(249, 18)
  639.         Me.FixObtained.TabIndex = 21
  640.         Me.FixObtained.Text = "(Unknown)"
  641.         '
  642.         'FixObtainedLabel
  643.         '
  644.         Me.FixObtainedLabel.Location = New System.Drawing.Point(9, 201)
  645.         Me.FixObtainedLabel.Name = "FixObtainedLabel"
  646.         Me.FixObtainedLabel.Size = New System.Drawing.Size(87, 18)
  647.         Me.FixObtainedLabel.TabIndex = 20
  648.         Me.FixObtainedLabel.Text = "Fix Obtained:"
  649.         '
  650.         'FixMode
  651.         '
  652.         Me.FixMode.Location = New System.Drawing.Point(102, 129)
  653.         Me.FixMode.Name = "FixMode"
  654.         Me.FixMode.Size = New System.Drawing.Size(249, 18)
  655.         Me.FixMode.TabIndex = 19
  656.         Me.FixMode.Text = "(Unknown)"
  657.         '
  658.         'FixModeLabel
  659.         '
  660.         Me.FixModeLabel.Location = New System.Drawing.Point(9, 129)
  661.         Me.FixModeLabel.Name = "FixModeLabel"
  662.         Me.FixModeLabel.Size = New System.Drawing.Size(87, 18)
  663.         Me.FixModeLabel.TabIndex = 18
  664.         Me.FixModeLabel.Text = "Fix Mode:"
  665.         '
  666.         'LocalTime
  667.         '
  668.         Me.LocalTime.Location = New System.Drawing.Point(102, 105)
  669.         Me.LocalTime.Name = "LocalTime"
  670.         Me.LocalTime.Size = New System.Drawing.Size(249, 18)
  671.         Me.LocalTime.TabIndex = 17
  672.         Me.LocalTime.Text = "(Unknown)"
  673.         '
  674.         'LocalTimeLabel
  675.         '
  676.         Me.LocalTimeLabel.Location = New System.Drawing.Point(9, 105)
  677.         Me.LocalTimeLabel.Name = "LocalTimeLabel"
  678.         Me.LocalTimeLabel.Size = New System.Drawing.Size(87, 18)
  679.         Me.LocalTimeLabel.TabIndex = 16
  680.         Me.LocalTimeLabel.Text = "Local Time:"
  681.         '
  682.         'Speed
  683.         '
  684.         Me.Speed.Location = New System.Drawing.Point(102, 321)
  685.         Me.Speed.Name = "Speed"
  686.         Me.Speed.Size = New System.Drawing.Size(249, 18)
  687.         Me.Speed.TabIndex = 15
  688.         Me.Speed.Text = "(Unknown)"
  689.         '
  690.         'SpeedLabel
  691.         '
  692.         Me.SpeedLabel.Location = New System.Drawing.Point(9, 321)
  693.         Me.SpeedLabel.Name = "SpeedLabel"
  694.         Me.SpeedLabel.Size = New System.Drawing.Size(87, 18)
  695.         Me.SpeedLabel.TabIndex = 14
  696.         Me.SpeedLabel.Text = "Speed:"
  697.         '
  698.         'ActiveSatellites
  699.         '
  700.         Me.ActiveSatellites.Location = New System.Drawing.Point(102, 9)
  701.         Me.ActiveSatellites.Name = "ActiveSatellites"
  702.         Me.ActiveSatellites.Size = New System.Drawing.Size(249, 18)
  703.         Me.ActiveSatellites.TabIndex = 13
  704.         Me.ActiveSatellites.Text = "(Unknown)"
  705.         '
  706.         'FixedSatellitesLabel
  707.         '
  708.         Me.FixedSatellitesLabel.Location = New System.Drawing.Point(9, 33)
  709.         Me.FixedSatellitesLabel.Name = "FixedSatellitesLabel"
  710.         Me.FixedSatellitesLabel.Size = New System.Drawing.Size(87, 18)
  711.         Me.FixedSatellitesLabel.TabIndex = 12
  712.         Me.FixedSatellitesLabel.Text = "Fixed Satellites:"
  713.         '
  714.         'UTCDateTime
  715.         '
  716.         Me.UTCDateTime.Location = New System.Drawing.Point(102, 81)
  717.         Me.UTCDateTime.Name = "UTCDateTime"
  718.         Me.UTCDateTime.Size = New System.Drawing.Size(249, 18)
  719.         Me.UTCDateTime.TabIndex = 11
  720.         Me.UTCDateTime.Text = "(Unknown)"
  721.         '
  722.         'UTCDateTimeLabel
  723.         '
  724.         Me.UTCDateTimeLabel.Location = New System.Drawing.Point(9, 81)
  725.         Me.UTCDateTimeLabel.Name = "UTCDateTimeLabel"
  726.         Me.UTCDateTimeLabel.Size = New System.Drawing.Size(87, 18)
  727.         Me.UTCDateTimeLabel.TabIndex = 10
  728.         Me.UTCDateTimeLabel.Text = "GPS Time:"
  729.         '
  730.         'Direction
  731.         '
  732.         Me.Direction.Location = New System.Drawing.Point(102, 369)
  733.         Me.Direction.Name = "Direction"
  734.         Me.Direction.Size = New System.Drawing.Size(249, 18)
  735.         Me.Direction.TabIndex = 9
  736.         Me.Direction.Text = "(Unknown)"
  737.         '
  738.         'DirectionLabel
  739.         '
  740.         Me.DirectionLabel.Location = New System.Drawing.Point(9, 369)
  741.         Me.DirectionLabel.Name = "DirectionLabel"
  742.         Me.DirectionLabel.Size = New System.Drawing.Size(87, 18)
  743.         Me.DirectionLabel.TabIndex = 8
  744.         Me.DirectionLabel.Text = "Direction:"
  745.         '
  746.         'Bearing
  747.         '
  748.         Me.Bearing.Location = New System.Drawing.Point(102, 345)
  749.         Me.Bearing.Name = "Bearing"
  750.         Me.Bearing.Size = New System.Drawing.Size(249, 18)
  751.         Me.Bearing.TabIndex = 7
  752.         Me.Bearing.Text = "(Unknown)"
  753.         '
  754.         'Altitude
  755.         '
  756.         Me.Altitude.Location = New System.Drawing.Point(102, 297)
  757.         Me.Altitude.Name = "Altitude"
  758.         Me.Altitude.Size = New System.Drawing.Size(249, 18)
  759.         Me.Altitude.TabIndex = 6
  760.         Me.Altitude.Text = "(Unknown)"
  761.         '
  762.         'Longitude
  763.         '
  764.         Me.Longitude.Font = New System.Drawing.Font("Courier New", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
  765.         Me.Longitude.Location = New System.Drawing.Point(102, 249)
  766.         Me.Longitude.Name = "Longitude"
  767.         Me.Longitude.Size = New System.Drawing.Size(249, 18)
  768.         Me.Longitude.TabIndex = 5
  769.         Me.Longitude.Text = "(Unknown)"
  770.         '
  771.         'Latitude
  772.         '
  773.         Me.Latitude.Font = New System.Drawing.Font("Courier New", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
  774.         Me.Latitude.Location = New System.Drawing.Point(102, 225)
  775.         Me.Latitude.Name = "Latitude"
  776.         Me.Latitude.Size = New System.Drawing.Size(249, 18)
  777.         Me.Latitude.TabIndex = 4
  778.         Me.Latitude.Text = "(Unknown)"
  779.         '
  780.         'BearingLabel
  781.         '
  782.         Me.BearingLabel.Location = New System.Drawing.Point(9, 345)
  783.         Me.BearingLabel.Name = "BearingLabel"
  784.         Me.BearingLabel.Size = New System.Drawing.Size(87, 18)
  785.         Me.BearingLabel.TabIndex = 3
  786.         Me.BearingLabel.Text = "Bearing:"
  787.         '
  788.         'LongitudeLabel
  789.         '
  790.         Me.LongitudeLabel.Location = New System.Drawing.Point(9, 249)
  791.         Me.LongitudeLabel.Name = "LongitudeLabel"
  792.         Me.LongitudeLabel.Size = New System.Drawing.Size(87, 18)
  793.         Me.LongitudeLabel.TabIndex = 1
  794.         Me.LongitudeLabel.Text = "Longitude:"
  795.         '
  796.         'AltitudeLabel
  797.         '
  798.         Me.AltitudeLabel.Location = New System.Drawing.Point(9, 297)
  799.         Me.AltitudeLabel.Name = "AltitudeLabel"
  800.         Me.AltitudeLabel.Size = New System.Drawing.Size(87, 18)
  801.         Me.AltitudeLabel.TabIndex = 2
  802.         Me.AltitudeLabel.Text = "Altitude:"
  803.         '
  804.         'LatitudeLabel
  805.         '
  806.         Me.LatitudeLabel.Location = New System.Drawing.Point(9, 225)
  807.         Me.LatitudeLabel.Name = "LatitudeLabel"
  808.         Me.LatitudeLabel.Size = New System.Drawing.Size(87, 18)
  809.         Me.LatitudeLabel.TabIndex = 0
  810.         Me.LatitudeLabel.Text = "Latitude:"
  811.         '
  812.         'SatelliteTabPage
  813.         '
  814.         Me.SatelliteTabPage.BackColor = System.Drawing.SystemColors.Control
  815.         Me.SatelliteTabPage.Controls.AddRange(New System.Windows.Forms.Control() {Me.FixLikelihoodLabel, Me.SatelliteViewer, Me.ShowCompassCheckBox, Me.ShowPrcCheckBox, Me.FlickerFreeDemoCheckBox, Me.SatelliteList, Me.FixLikelihood})
  816.         Me.SatelliteTabPage.Location = New System.Drawing.Point(4, 22)
  817.         Me.SatelliteTabPage.Name = "SatelliteTabPage"
  818.         Me.SatelliteTabPage.Size = New System.Drawing.Size(397, 487)
  819.         Me.SatelliteTabPage.TabIndex = 1
  820.         Me.SatelliteTabPage.Text = "Satellites"
  821.         '
  822.         'FixLikelihoodLabel
  823.         '
  824.         Me.FixLikelihoodLabel.Location = New System.Drawing.Point(12, 9)
  825.         Me.FixLikelihoodLabel.Name = "FixLikelihoodLabel"
  826.         Me.FixLikelihoodLabel.Size = New System.Drawing.Size(75, 18)
  827.         Me.FixLikelihoodLabel.TabIndex = 9
  828.         Me.FixLikelihoodLabel.Text = "Fix likelihood:"
  829.         '
  830.         'SatelliteViewer
  831.         '
  832.         Me.SatelliteViewer.Anchor = (((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
  833.                                 Or System.Windows.Forms.AnchorStyles.Left) _
  834.                                 Or System.Windows.Forms.AnchorStyles.Right)
  835.         Me.SatelliteViewer.BackColor = System.Drawing.SystemColors.Control
  836.         Me.SatelliteViewer.Bearing = 0.0!
  837.         Me.SatelliteViewer.CompassFont = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
  838.         Me.SatelliteViewer.DestinationBearing = 0.0!
  839.         Me.SatelliteViewer.Location = New System.Drawing.Point(12, 267)
  840.         Me.SatelliteViewer.Name = "SatelliteViewer"
  841.         Me.SatelliteViewer.Orientation = StormSource.Gps.Controls.OrientationMode.BearingUp
  842.         Me.SatelliteViewer.PseudoRandomCodeFont = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
  843.         Me.SatelliteViewer.Receiver = Nothing
  844.         Me.SatelliteViewer.RegionShape = StormSource.Gps.Controls.RegionShapeMode.Circular
  845.         Me.SatelliteViewer.Size = New System.Drawing.Size(237, 210)
  846.         Me.SatelliteViewer.TabIndex = 8
  847.         '
  848.         'ShowCompassCheckBox
  849.         '
  850.         Me.ShowCompassCheckBox.Anchor = (System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right)
  851.         Me.ShowCompassCheckBox.Checked = True
  852.         Me.ShowCompassCheckBox.CheckState = System.Windows.Forms.CheckState.Checked
  853.         Me.ShowCompassCheckBox.Location = New System.Drawing.Point(258, 315)
  854.         Me.ShowCompassCheckBox.Name = "ShowCompassCheckBox"
  855.         Me.ShowCompassCheckBox.Size = New System.Drawing.Size(129, 18)
  856.         Me.ShowCompassCheckBox.TabIndex = 7
  857.         Me.ShowCompassCheckBox.Text = "Show Compass"
  858.         '
  859.         'ShowPrcCheckBox
  860.         '
  861.         Me.ShowPrcCheckBox.Anchor = (System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right)
  862.         Me.ShowPrcCheckBox.Checked = True
  863.         Me.ShowPrcCheckBox.CheckState = System.Windows.Forms.CheckState.Checked
  864.         Me.ShowPrcCheckBox.Location = New System.Drawing.Point(258, 294)
  865.         Me.ShowPrcCheckBox.Name = "ShowPrcCheckBox"
  866.         Me.ShowPrcCheckBox.Size = New System.Drawing.Size(129, 18)
  867.         Me.ShowPrcCheckBox.TabIndex = 6
  868.         Me.ShowPrcCheckBox.Text = "Show PRC Numbers"
  869.         '
  870.         'FlickerFreeDemoCheckBox
  871.         '
  872.         Me.FlickerFreeDemoCheckBox.Anchor = (System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right)
  873.         Me.FlickerFreeDemoCheckBox.Location = New System.Drawing.Point(258, 267)
  874.         Me.FlickerFreeDemoCheckBox.Name = "FlickerFreeDemoCheckBox"
  875.         Me.FlickerFreeDemoCheckBox.Size = New System.Drawing.Size(129, 24)
  876.         Me.FlickerFreeDemoCheckBox.TabIndex = 5
  877.         Me.FlickerFreeDemoCheckBox.Text = "Flicker-free demo"
  878.         '
  879.         'SatelliteList
  880.         '
  881.         Me.SatelliteList.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  882.                                 Or System.Windows.Forms.AnchorStyles.Right)
  883.         Me.SatelliteList.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.SatelliteID, Me.SatelliteElevation, Me.SatelliteAzimuth, Me.SatelliteSignalStrength})
  884.         Me.SatelliteList.FullRowSelect = True
  885.         Me.SatelliteList.Items.AddRange(New System.Windows.Forms.ListViewItem() {ListViewItem1, ListViewItem2, ListViewItem3, ListViewItem4, ListViewItem5, ListViewItem6, ListViewItem7, ListViewItem8, ListViewItem9, ListViewItem10, ListViewItem11, ListViewItem12, ListViewItem13, ListViewItem14, ListViewItem15, ListViewItem16})
  886.         Me.SatelliteList.Location = New System.Drawing.Point(9, 30)
  887.         Me.SatelliteList.Name = "SatelliteList"
  888.         Me.SatelliteList.Size = New System.Drawing.Size(378, 228)
  889.         Me.SatelliteList.TabIndex = 0
  890.         Me.SatelliteList.View = System.Windows.Forms.View.Details
  891.         '
  892.         'SatelliteID
  893.         '
  894.         Me.SatelliteID.Text = "PRC"
  895.         Me.SatelliteID.Width = 77
  896.         '
  897.         'SatelliteElevation
  898.         '
  899.         Me.SatelliteElevation.Text = "Elevation"
  900.         Me.SatelliteElevation.Width = 80
  901.         '
  902.         'SatelliteAzimuth
  903.         '
  904.         Me.SatelliteAzimuth.Text = "Azimuth"
  905.         Me.SatelliteAzimuth.Width = 81
  906.         '
  907.         'SatelliteSignalStrength
  908.         '
  909.         Me.SatelliteSignalStrength.Text = "Signal Strength"
  910.         Me.SatelliteSignalStrength.Width = 116
  911.         '
  912.         'FixLikelihood
  913.         '
  914.         Me.FixLikelihood.Location = New System.Drawing.Point(93, 9)
  915.         Me.FixLikelihood.Name = "FixLikelihood"
  916.         Me.FixLikelihood.Size = New System.Drawing.Size(168, 18)
  917.         Me.FixLikelihood.TabIndex = 9
  918.         Me.FixLikelihood.Text = "Unknown"
  919.         '
  920.         'DeviceTabPage
  921.         '
  922.         Me.DeviceTabPage.BackColor = System.Drawing.SystemColors.Control
  923.         Me.DeviceTabPage.Controls.AddRange(New System.Windows.Forms.Control() {Me.SupportedWaypointFeaturesGroupBox, Me.DeviceInformationGroupBox})
  924.         Me.DeviceTabPage.Location = New System.Drawing.Point(4, 22)
  925.         Me.DeviceTabPage.Name = "DeviceTabPage"
  926.         Me.DeviceTabPage.Size = New System.Drawing.Size(397, 487)
  927.         Me.DeviceTabPage.TabIndex = 4
  928.         Me.DeviceTabPage.Text = "Device"
  929.         '
  930.         'SupportedWaypointFeaturesGroupBox
  931.         '
  932.         Me.SupportedWaypointFeaturesGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  933.                                 Or System.Windows.Forms.AnchorStyles.Right)
  934.         Me.SupportedWaypointFeaturesGroupBox.Controls.AddRange(New System.Windows.Forms.Control() {Me.WaypointDisplayModeComboBox, Me.WaypointColorComboBox, Me.WaypointSymbolComboBox, Me.WaypointIntersectingRoadCheckbox, Me.WaypointCountryCheckbox, Me.WaypointDepthCheckbox, Me.WaypointFacilityNameCheckbox, Me.WaypointCityCheckbox, Me.WaypointStateCheckbox, Me.WaypointAddressCheckbox, Me.WaypointAltitudeCheckbox, Me.WaypointDisplayModeCheckbox, Me.WaypointSymbolCheckbox, Me.WaypointColorCheckbox, Me.WaypointCommentCheckbox})
  935.         Me.SupportedWaypointFeaturesGroupBox.Location = New System.Drawing.Point(9, 237)
  936.         Me.SupportedWaypointFeaturesGroupBox.Name = "SupportedWaypointFeaturesGroupBox"
  937.         Me.SupportedWaypointFeaturesGroupBox.Size = New System.Drawing.Size(381, 237)
  938.         Me.SupportedWaypointFeaturesGroupBox.TabIndex = 72
  939.         Me.SupportedWaypointFeaturesGroupBox.TabStop = False
  940.         Me.SupportedWaypointFeaturesGroupBox.Text = "Supported Waypoint Features"
  941.         '
  942.         'WaypointDisplayModeComboBox
  943.         '
  944.         Me.WaypointDisplayModeComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
  945.         Me.WaypointDisplayModeComboBox.Enabled = False
  946.         Me.WaypointDisplayModeComboBox.Location = New System.Drawing.Point(33, 180)
  947.         Me.WaypointDisplayModeComboBox.Name = "WaypointDisplayModeComboBox"
  948.         Me.WaypointDisplayModeComboBox.Size = New System.Drawing.Size(141, 21)
  949.         Me.WaypointDisplayModeComboBox.Sorted = True
  950.         Me.WaypointDisplayModeComboBox.TabIndex = 15
  951.         '
  952.         'WaypointColorComboBox
  953.         '
  954.         Me.WaypointColorComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
  955.         Me.WaypointColorComboBox.Enabled = False
  956.         Me.WaypointColorComboBox.Location = New System.Drawing.Point(33, 129)
  957.         Me.WaypointColorComboBox.Name = "WaypointColorComboBox"
  958.         Me.WaypointColorComboBox.Size = New System.Drawing.Size(141, 21)
  959.         Me.WaypointColorComboBox.Sorted = True
  960.         Me.WaypointColorComboBox.TabIndex = 14
  961.         '
  962.         'WaypointSymbolComboBox
  963.         '
  964.         Me.WaypointSymbolComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
  965.         Me.WaypointSymbolComboBox.Enabled = False
  966.         Me.WaypointSymbolComboBox.Location = New System.Drawing.Point(33, 78)
  967.         Me.WaypointSymbolComboBox.Name = "WaypointSymbolComboBox"
  968.         Me.WaypointSymbolComboBox.Size = New System.Drawing.Size(141, 21)
  969.         Me.WaypointSymbolComboBox.Sorted = True
  970.         Me.WaypointSymbolComboBox.TabIndex = 13
  971.         '
  972.         'WaypointIntersectingRoadCheckbox
  973.         '
  974.         Me.WaypointIntersectingRoadCheckbox.AutoCheck = False
  975.         Me.WaypointIntersectingRoadCheckbox.Enabled = False
  976.         Me.WaypointIntersectingRoadCheckbox.Location = New System.Drawing.Point(201, 198)
  977.         Me.WaypointIntersectingRoadCheckbox.Name = "WaypointIntersectingRoadCheckbox"
  978.         Me.WaypointIntersectingRoadCheckbox.Size = New System.Drawing.Size(147, 21)
  979.         Me.WaypointIntersectingRoadCheckbox.TabIndex = 12
  980.         Me.WaypointIntersectingRoadCheckbox.Text = "Intersecting Road"
  981.         '
  982.         'WaypointCountryCheckbox
  983.         '
  984.         Me.WaypointCountryCheckbox.AutoCheck = False
  985.         Me.WaypointCountryCheckbox.Enabled = False
  986.         Me.WaypointCountryCheckbox.Location = New System.Drawing.Point(201, 174)
  987.         Me.WaypointCountryCheckbox.Name = "WaypointCountryCheckbox"
  988.         Me.WaypointCountryCheckbox.Size = New System.Drawing.Size(147, 21)
  989.         Me.WaypointCountryCheckbox.TabIndex = 11
  990.         Me.WaypointCountryCheckbox.Text = "Country"
  991.         '
  992.         'WaypointDepthCheckbox
  993.         '
  994.         Me.WaypointDepthCheckbox.AutoCheck = False
  995.         Me.WaypointDepthCheckbox.Enabled = False
  996.         Me.WaypointDepthCheckbox.Location = New System.Drawing.Point(201, 54)
  997.         Me.WaypointDepthCheckbox.Name = "WaypointDepthCheckbox"
  998.         Me.WaypointDepthCheckbox.Size = New System.Drawing.Size(147, 21)
  999.         Me.WaypointDepthCheckbox.TabIndex = 10
  1000.         Me.WaypointDepthCheckbox.Text = "Depth"
  1001.         '
  1002.         'WaypointFacilityNameCheckbox
  1003.         '
  1004.         Me.WaypointFacilityNameCheckbox.AutoCheck = False
  1005.         Me.WaypointFacilityNameCheckbox.Enabled = False
  1006.         Me.WaypointFacilityNameCheckbox.Location = New System.Drawing.Point(201, 102)
  1007.         Me.WaypointFacilityNameCheckbox.Name = "WaypointFacilityNameCheckbox"
  1008.         Me.WaypointFacilityNameCheckbox.Size = New System.Drawing.Size(147, 21)
  1009.         Me.WaypointFacilityNameCheckbox.TabIndex = 9
  1010.         Me.WaypointFacilityNameCheckbox.Text = "Facility name"
  1011.         '
  1012.         'WaypointCityCheckbox
  1013.         '
  1014.         Me.WaypointCityCheckbox.AutoCheck = False
  1015.         Me.WaypointCityCheckbox.Enabled = False
  1016.         Me.WaypointCityCheckbox.Location = New System.Drawing.Point(201, 126)
  1017.         Me.WaypointCityCheckbox.Name = "WaypointCityCheckbox"
  1018.         Me.WaypointCityCheckbox.Size = New System.Drawing.Size(147, 21)
  1019.         Me.WaypointCityCheckbox.TabIndex = 8
  1020.         Me.WaypointCityCheckbox.Text = "City"
  1021.         '
  1022.         'WaypointStateCheckbox
  1023.         '
  1024.         Me.WaypointStateCheckbox.AutoCheck = False
  1025.         Me.WaypointStateCheckbox.Enabled = False
  1026.         Me.WaypointStateCheckbox.Location = New System.Drawing.Point(201, 150)
  1027.         Me.WaypointStateCheckbox.Name = "WaypointStateCheckbox"
  1028.         Me.WaypointStateCheckbox.Size = New System.Drawing.Size(147, 21)
  1029.         Me.WaypointStateCheckbox.TabIndex = 7
  1030.         Me.WaypointStateCheckbox.Text = "State"
  1031.         '
  1032.         'WaypointAddressCheckbox
  1033.         '
  1034.         Me.WaypointAddressCheckbox.AutoCheck = False
  1035.         Me.WaypointAddressCheckbox.Enabled = False
  1036.         Me.WaypointAddressCheckbox.Location = New System.Drawing.Point(201, 78)
  1037.         Me.WaypointAddressCheckbox.Name = "WaypointAddressCheckbox"
  1038.         Me.WaypointAddressCheckbox.Size = New System.Drawing.Size(147, 21)
  1039.         Me.WaypointAddressCheckbox.TabIndex = 6
  1040.         Me.WaypointAddressCheckbox.Text = "Address"
  1041.         '
  1042.         'WaypointAltitudeCheckbox
  1043.         '
  1044.         Me.WaypointAltitudeCheckbox.AutoCheck = False
  1045.         Me.WaypointAltitudeCheckbox.Enabled = False
  1046.         Me.WaypointAltitudeCheckbox.Location = New System.Drawing.Point(201, 30)
  1047.         Me.WaypointAltitudeCheckbox.Name = "WaypointAltitudeCheckbox"
  1048.         Me.WaypointAltitudeCheckbox.Size = New System.Drawing.Size(147, 21)
  1049.         Me.WaypointAltitudeCheckbox.TabIndex = 5
  1050.         Me.WaypointAltitudeCheckbox.Text = "Altitude"
  1051.         '
  1052.         'WaypointDisplayModeCheckbox
  1053.         '
  1054.         Me.WaypointDisplayModeCheckbox.AutoCheck = False
  1055.         Me.WaypointDisplayModeCheckbox.Enabled = False
  1056.         Me.WaypointDisplayModeCheckbox.Location = New System.Drawing.Point(15, 159)
  1057.         Me.WaypointDisplayModeCheckbox.Name = "WaypointDisplayModeCheckbox"
  1058.         Me.WaypointDisplayModeCheckbox.Size = New System.Drawing.Size(150, 21)
  1059.         Me.WaypointDisplayModeCheckbox.TabIndex = 4
  1060.         Me.WaypointDisplayModeCheckbox.Text = "Display Modes (See list):"
  1061.         '
  1062.         'WaypointSymbolCheckbox
  1063.         '
  1064.         Me.WaypointSymbolCheckbox.AutoCheck = False
  1065.         Me.WaypointSymbolCheckbox.Enabled = False
  1066.         Me.WaypointSymbolCheckbox.Location = New System.Drawing.Point(15, 54)
  1067.         Me.WaypointSymbolCheckbox.Name = "WaypointSymbolCheckbox"
  1068.         Me.WaypointSymbolCheckbox.Size = New System.Drawing.Size(126, 21)
  1069.         Me.WaypointSymbolCheckbox.TabIndex = 3
  1070.         Me.WaypointSymbolCheckbox.Text = "Symbols (See list):"
  1071.         '
  1072.         'WaypointColorCheckbox
  1073.         '
  1074.         Me.WaypointColorCheckbox.AutoCheck = False
  1075.         Me.WaypointColorCheckbox.Enabled = False
  1076.         Me.WaypointColorCheckbox.Location = New System.Drawing.Point(15, 108)
  1077.         Me.WaypointColorCheckbox.Name = "WaypointColorCheckbox"
  1078.         Me.WaypointColorCheckbox.Size = New System.Drawing.Size(126, 21)
  1079.         Me.WaypointColorCheckbox.TabIndex = 2
  1080.         Me.WaypointColorCheckbox.Text = "Colors (See list):"
  1081.         '
  1082.         'WaypointCommentCheckbox
  1083.         '
  1084.         Me.WaypointCommentCheckbox.AutoCheck = False
  1085.         Me.WaypointCommentCheckbox.Enabled = False
  1086.         Me.WaypointCommentCheckbox.Location = New System.Drawing.Point(15, 30)
  1087.         Me.WaypointCommentCheckbox.Name = "WaypointCommentCheckbox"
  1088.         Me.WaypointCommentCheckbox.Size = New System.Drawing.Size(126, 21)
  1089.         Me.WaypointCommentCheckbox.TabIndex = 1
  1090.         Me.WaypointCommentCheckbox.Text = "Comment"
  1091.         '
  1092.         'DeviceInformationGroupBox
  1093.         '
  1094.         Me.DeviceInformationGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1095.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1096.         Me.DeviceInformationGroupBox.Controls.AddRange(New System.Windows.Forms.Control() {Me.SupportsRoutes, Me.SupportsTracks, Me.SupportsWaypoints, Me.SupportsRoutesLabel, Me.SupportsTracksLabel, Me.SupportsWaypointsLabel, Me.BatteryLifeLabel, Me.BatteryLife, Me.ProtocolLabel, Me.Protocol, Me.SoftwareVersion, Me.SoftwareVersionLabel, Me.DeviceName, Me.ManufacturerLabel, Me.Manufacturer, Me.DeviceNameLabel, Me.PowerOffButton})
  1097.         Me.DeviceInformationGroupBox.Location = New System.Drawing.Point(9, 9)
  1098.         Me.DeviceInformationGroupBox.Name = "DeviceInformationGroupBox"
  1099.         Me.DeviceInformationGroupBox.Size = New System.Drawing.Size(381, 222)
  1100.         Me.DeviceInformationGroupBox.TabIndex = 71
  1101.         Me.DeviceInformationGroupBox.TabStop = False
  1102.         Me.DeviceInformationGroupBox.Text = "Device Information"
  1103.         '
  1104.         'SupportsRoutes
  1105.         '
  1106.         Me.SupportsRoutes.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1107.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1108.         Me.SupportsRoutes.Location = New System.Drawing.Point(135, 195)
  1109.         Me.SupportsRoutes.Name = "SupportsRoutes"
  1110.         Me.SupportsRoutes.Size = New System.Drawing.Size(159, 18)
  1111.         Me.SupportsRoutes.TabIndex = 86
  1112.         Me.SupportsRoutes.Text = "(Unknown)"
  1113.         '
  1114.         'SupportsTracks
  1115.         '
  1116.         Me.SupportsTracks.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1117.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1118.         Me.SupportsTracks.Location = New System.Drawing.Point(135, 171)
  1119.         Me.SupportsTracks.Name = "SupportsTracks"
  1120.         Me.SupportsTracks.Size = New System.Drawing.Size(159, 18)
  1121.         Me.SupportsTracks.TabIndex = 85
  1122.         Me.SupportsTracks.Text = "(Unknown)"
  1123.         '
  1124.         'SupportsWaypoints
  1125.         '
  1126.         Me.SupportsWaypoints.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1127.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1128.         Me.SupportsWaypoints.Location = New System.Drawing.Point(135, 147)
  1129.         Me.SupportsWaypoints.Name = "SupportsWaypoints"
  1130.         Me.SupportsWaypoints.Size = New System.Drawing.Size(159, 18)
  1131.         Me.SupportsWaypoints.TabIndex = 84
  1132.         Me.SupportsWaypoints.Text = "(Unknown)"
  1133.         '
  1134.         'SupportsRoutesLabel
  1135.         '
  1136.         Me.SupportsRoutesLabel.Location = New System.Drawing.Point(15, 195)
  1137.         Me.SupportsRoutesLabel.Name = "SupportsRoutesLabel"
  1138.         Me.SupportsRoutesLabel.Size = New System.Drawing.Size(114, 18)
  1139.         Me.SupportsRoutesLabel.TabIndex = 83
  1140.         Me.SupportsRoutesLabel.Text = "Supports Routes?"
  1141.         '
  1142.         'SupportsTracksLabel
  1143.         '
  1144.         Me.SupportsTracksLabel.Location = New System.Drawing.Point(15, 171)
  1145.         Me.SupportsTracksLabel.Name = "SupportsTracksLabel"
  1146.         Me.SupportsTracksLabel.Size = New System.Drawing.Size(114, 18)
  1147.         Me.SupportsTracksLabel.TabIndex = 82
  1148.         Me.SupportsTracksLabel.Text = "Supports Tracks?"
  1149.         '
  1150.         'SupportsWaypointsLabel
  1151.         '
  1152.         Me.SupportsWaypointsLabel.Location = New System.Drawing.Point(15, 147)
  1153.         Me.SupportsWaypointsLabel.Name = "SupportsWaypointsLabel"
  1154.         Me.SupportsWaypointsLabel.Size = New System.Drawing.Size(114, 18)
  1155.         Me.SupportsWaypointsLabel.TabIndex = 81
  1156.         Me.SupportsWaypointsLabel.Text = "Supports Waypoints?"
  1157.         '
  1158.         'BatteryLifeLabel
  1159.         '
  1160.         Me.BatteryLifeLabel.Location = New System.Drawing.Point(15, 123)
  1161.         Me.BatteryLifeLabel.Name = "BatteryLifeLabel"
  1162.         Me.BatteryLifeLabel.Size = New System.Drawing.Size(114, 18)
  1163.         Me.BatteryLifeLabel.TabIndex = 80
  1164.         Me.BatteryLifeLabel.Text = "Battery Life:"
  1165.         '
  1166.         'BatteryLife
  1167.         '
  1168.         Me.BatteryLife.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1169.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1170.         Me.BatteryLife.Location = New System.Drawing.Point(135, 123)
  1171.         Me.BatteryLife.Name = "BatteryLife"
  1172.         Me.BatteryLife.Size = New System.Drawing.Size(159, 18)
  1173.         Me.BatteryLife.TabIndex = 79
  1174.         Me.BatteryLife.Text = "(Unknown)"
  1175.         '
  1176.         'ProtocolLabel
  1177.         '
  1178.         Me.ProtocolLabel.Location = New System.Drawing.Point(15, 99)
  1179.         Me.ProtocolLabel.Name = "ProtocolLabel"
  1180.         Me.ProtocolLabel.Size = New System.Drawing.Size(114, 18)
  1181.         Me.ProtocolLabel.TabIndex = 78
  1182.         Me.ProtocolLabel.Text = "Protocol:"
  1183.         '
  1184.         'Protocol
  1185.         '
  1186.         Me.Protocol.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1187.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1188.         Me.Protocol.Location = New System.Drawing.Point(135, 99)
  1189.         Me.Protocol.Name = "Protocol"
  1190.         Me.Protocol.Size = New System.Drawing.Size(237, 18)
  1191.         Me.Protocol.TabIndex = 77
  1192.         Me.Protocol.Text = "(Unknown)"
  1193.         '
  1194.         'SoftwareVersion
  1195.         '
  1196.         Me.SoftwareVersion.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1197.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1198.         Me.SoftwareVersion.Location = New System.Drawing.Point(135, 75)
  1199.         Me.SoftwareVersion.Name = "SoftwareVersion"
  1200.         Me.SoftwareVersion.Size = New System.Drawing.Size(237, 18)
  1201.         Me.SoftwareVersion.TabIndex = 76
  1202.         Me.SoftwareVersion.Text = "(Unknown)"
  1203.         '
  1204.         'SoftwareVersionLabel
  1205.         '
  1206.         Me.SoftwareVersionLabel.Location = New System.Drawing.Point(15, 75)
  1207.         Me.SoftwareVersionLabel.Name = "SoftwareVersionLabel"
  1208.         Me.SoftwareVersionLabel.Size = New System.Drawing.Size(114, 18)
  1209.         Me.SoftwareVersionLabel.TabIndex = 75
  1210.         Me.SoftwareVersionLabel.Text = "Software Version:"
  1211.         '
  1212.         'DeviceName
  1213.         '
  1214.         Me.DeviceName.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1215.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1216.         Me.DeviceName.Location = New System.Drawing.Point(135, 27)
  1217.         Me.DeviceName.Name = "DeviceName"
  1218.         Me.DeviceName.Size = New System.Drawing.Size(237, 18)
  1219.         Me.DeviceName.TabIndex = 74
  1220.         Me.DeviceName.Text = "(Unknown)"
  1221.         '
  1222.         'ManufacturerLabel
  1223.         '
  1224.         Me.ManufacturerLabel.Location = New System.Drawing.Point(15, 51)
  1225.         Me.ManufacturerLabel.Name = "ManufacturerLabel"
  1226.         Me.ManufacturerLabel.Size = New System.Drawing.Size(114, 18)
  1227.         Me.ManufacturerLabel.TabIndex = 73
  1228.         Me.ManufacturerLabel.Text = "Manufacturer:"
  1229.         '
  1230.         'Manufacturer
  1231.         '
  1232.         Me.Manufacturer.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1233.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1234.         Me.Manufacturer.Location = New System.Drawing.Point(135, 51)
  1235.         Me.Manufacturer.Name = "Manufacturer"
  1236.         Me.Manufacturer.Size = New System.Drawing.Size(237, 18)
  1237.         Me.Manufacturer.TabIndex = 72
  1238.         Me.Manufacturer.Text = "(Unknown)"
  1239.         '
  1240.         'DeviceNameLabel
  1241.         '
  1242.         Me.DeviceNameLabel.Location = New System.Drawing.Point(15, 27)
  1243.         Me.DeviceNameLabel.Name = "DeviceNameLabel"
  1244.         Me.DeviceNameLabel.Size = New System.Drawing.Size(114, 18)
  1245.         Me.DeviceNameLabel.TabIndex = 71
  1246.         Me.DeviceNameLabel.Text = "Device Name:"
  1247.         '
  1248.         'PowerOffButton
  1249.         '
  1250.         Me.PowerOffButton.Anchor = (System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right)
  1251.         Me.PowerOffButton.Enabled = False
  1252.         Me.PowerOffButton.FlatStyle = System.Windows.Forms.FlatStyle.System
  1253.         Me.PowerOffButton.Location = New System.Drawing.Point(300, 189)
  1254.         Me.PowerOffButton.Name = "PowerOffButton"
  1255.         Me.PowerOffButton.Size = New System.Drawing.Size(72, 24)
  1256.         Me.PowerOffButton.TabIndex = 63
  1257.         Me.PowerOffButton.Text = "Power Off"
  1258.         '
  1259.         'ErrorTabPage
  1260.         '
  1261.         Me.ErrorTabPage.BackColor = System.Drawing.SystemColors.Control
  1262.         Me.ErrorTabPage.Controls.AddRange(New System.Windows.Forms.Control() {Me.GpsExceptionTextBox, Me.GpsExceptionLabel, Me.ParsingExceptionTextBox, Me.ParsingExceptionLabel})
  1263.         Me.ErrorTabPage.Location = New System.Drawing.Point(4, 22)
  1264.         Me.ErrorTabPage.Name = "ErrorTabPage"
  1265.         Me.ErrorTabPage.Size = New System.Drawing.Size(397, 487)
  1266.         Me.ErrorTabPage.TabIndex = 5
  1267.         Me.ErrorTabPage.Text = "Errors"
  1268.         '
  1269.         'GpsExceptionTextBox
  1270.         '
  1271.         Me.GpsExceptionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1272.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1273.         Me.GpsExceptionTextBox.Location = New System.Drawing.Point(7, 27)
  1274.         Me.GpsExceptionTextBox.Multiline = True
  1275.         Me.GpsExceptionTextBox.Name = "GpsExceptionTextBox"
  1276.         Me.GpsExceptionTextBox.ReadOnly = True
  1277.         Me.GpsExceptionTextBox.Size = New System.Drawing.Size(380, 198)
  1278.         Me.GpsExceptionTextBox.TabIndex = 13
  1279.         Me.GpsExceptionTextBox.Text = ""
  1280.         '
  1281.         'GpsExceptionLabel
  1282.         '
  1283.         Me.GpsExceptionLabel.AllowDrop = True
  1284.         Me.GpsExceptionLabel.Location = New System.Drawing.Point(7, 9)
  1285.         Me.GpsExceptionLabel.Name = "GpsExceptionLabel"
  1286.         Me.GpsExceptionLabel.Size = New System.Drawing.Size(188, 15)
  1287.         Me.GpsExceptionLabel.TabIndex = 12
  1288.         Me.GpsExceptionLabel.Text = "Unexpected exceptions:"
  1289.         '
  1290.         'ParsingExceptionTextBox
  1291.         '
  1292.         Me.ParsingExceptionTextBox.Anchor = (((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
  1293.                                 Or System.Windows.Forms.AnchorStyles.Left) _
  1294.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1295.         Me.ParsingExceptionTextBox.Location = New System.Drawing.Point(9, 249)
  1296.         Me.ParsingExceptionTextBox.Multiline = True
  1297.         Me.ParsingExceptionTextBox.Name = "ParsingExceptionTextBox"
  1298.         Me.ParsingExceptionTextBox.ReadOnly = True
  1299.         Me.ParsingExceptionTextBox.Size = New System.Drawing.Size(378, 231)
  1300.         Me.ParsingExceptionTextBox.TabIndex = 11
  1301.         Me.ParsingExceptionTextBox.Text = ""
  1302.         '
  1303.         'ParsingExceptionLabel
  1304.         '
  1305.         Me.ParsingExceptionLabel.AllowDrop = True
  1306.         Me.ParsingExceptionLabel.Location = New System.Drawing.Point(9, 231)
  1307.         Me.ParsingExceptionLabel.Name = "ParsingExceptionLabel"
  1308.         Me.ParsingExceptionLabel.Size = New System.Drawing.Size(171, 15)
  1309.         Me.ParsingExceptionLabel.TabIndex = 10
  1310.         Me.ParsingExceptionLabel.Text = "Recoverable parsing warnings:"
  1311.         '
  1312.         'WaypointTabPage
  1313.         '
  1314.         Me.WaypointTabPage.BackColor = System.Drawing.SystemColors.Control
  1315.         Me.WaypointTabPage.Controls.AddRange(New System.Windows.Forms.Control() {Me.RecommendedSteeringDirection, Me.RecommendedSteeringDirectionLabel, Me.CrossTrackError, Me.CrossTrackErrorLabel, Me.DestinationWaypoint, Me.DestinationWaypointLabel, Me.OriginWaypoint, Me.OriginWaypointLabel, Me.WaypointInstructionsLabel, Me.NewWaypointButton, Me.EditWaypointButton, Me.DownloadWaypointButton, Me.WaypointList})
  1316.         Me.WaypointTabPage.Location = New System.Drawing.Point(4, 22)
  1317.         Me.WaypointTabPage.Name = "WaypointTabPage"
  1318.         Me.WaypointTabPage.Size = New System.Drawing.Size(397, 487)
  1319.         Me.WaypointTabPage.TabIndex = 3
  1320.         Me.WaypointTabPage.Text = "Waypoints"
  1321.         '
  1322.         'RecommendedSteeringDirection
  1323.         '
  1324.         Me.RecommendedSteeringDirection.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1325.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1326.         Me.RecommendedSteeringDirection.Location = New System.Drawing.Point(132, 84)
  1327.         Me.RecommendedSteeringDirection.Name = "RecommendedSteeringDirection"
  1328.         Me.RecommendedSteeringDirection.Size = New System.Drawing.Size(255, 18)
  1329.         Me.RecommendedSteeringDirection.TabIndex = 20
  1330.         Me.RecommendedSteeringDirection.Text = "(Unknown)"
  1331.         '
  1332.         'RecommendedSteeringDirectionLabel
  1333.         '
  1334.         Me.RecommendedSteeringDirectionLabel.Location = New System.Drawing.Point(12, 84)
  1335.         Me.RecommendedSteeringDirectionLabel.Name = "RecommendedSteeringDirectionLabel"
  1336.         Me.RecommendedSteeringDirectionLabel.Size = New System.Drawing.Size(114, 18)
  1337.         Me.RecommendedSteeringDirectionLabel.TabIndex = 19
  1338.         Me.RecommendedSteeringDirectionLabel.Text = "Steer to correct:"
  1339.         '
  1340.         'CrossTrackError
  1341.         '
  1342.         Me.CrossTrackError.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1343.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1344.         Me.CrossTrackError.Location = New System.Drawing.Point(132, 60)
  1345.         Me.CrossTrackError.Name = "CrossTrackError"
  1346.         Me.CrossTrackError.Size = New System.Drawing.Size(255, 18)
  1347.         Me.CrossTrackError.TabIndex = 18
  1348.         Me.CrossTrackError.Text = "(Unknown)"
  1349.         '
  1350.         'CrossTrackErrorLabel
  1351.         '
  1352.         Me.CrossTrackErrorLabel.Location = New System.Drawing.Point(11, 60)
  1353.         Me.CrossTrackErrorLabel.Name = "CrossTrackErrorLabel"
  1354.         Me.CrossTrackErrorLabel.Size = New System.Drawing.Size(115, 18)
  1355.         Me.CrossTrackErrorLabel.TabIndex = 17
  1356.         Me.CrossTrackErrorLabel.Text = "Cross-track error:"
  1357.         '
  1358.         'DestinationWaypoint
  1359.         '
  1360.         Me.DestinationWaypoint.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1361.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1362.         Me.DestinationWaypoint.Location = New System.Drawing.Point(132, 36)
  1363.         Me.DestinationWaypoint.Name = "DestinationWaypoint"
  1364.         Me.DestinationWaypoint.Size = New System.Drawing.Size(255, 18)
  1365.         Me.DestinationWaypoint.TabIndex = 16
  1366.         Me.DestinationWaypoint.Text = "(Unknown)"
  1367.         '
  1368.         'DestinationWaypointLabel
  1369.         '
  1370.         Me.DestinationWaypointLabel.Location = New System.Drawing.Point(12, 36)
  1371.         Me.DestinationWaypointLabel.Name = "DestinationWaypointLabel"
  1372.         Me.DestinationWaypointLabel.Size = New System.Drawing.Size(114, 18)
  1373.         Me.DestinationWaypointLabel.TabIndex = 15
  1374.         Me.DestinationWaypointLabel.Text = "Destination waypoint:"
  1375.         '
  1376.         'OriginWaypoint
  1377.         '
  1378.         Me.OriginWaypoint.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
  1379.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1380.         Me.OriginWaypoint.Location = New System.Drawing.Point(132, 12)
  1381.         Me.OriginWaypoint.Name = "OriginWaypoint"
  1382.         Me.OriginWaypoint.Size = New System.Drawing.Size(255, 18)
  1383.         Me.OriginWaypoint.TabIndex = 14
  1384.         Me.OriginWaypoint.Text = "(Unknown)"
  1385.         '
  1386.         'OriginWaypointLabel
  1387.         '
  1388.         Me.OriginWaypointLabel.Location = New System.Drawing.Point(12, 12)
  1389.         Me.OriginWaypointLabel.Name = "OriginWaypointLabel"
  1390.         Me.OriginWaypointLabel.Size = New System.Drawing.Size(114, 18)
  1391.         Me.OriginWaypointLabel.TabIndex = 7
  1392.         Me.OriginWaypointLabel.Text = "Origin waypoint:"
  1393.         '
  1394.         'WaypointInstructionsLabel
  1395.         '
  1396.         Me.WaypointInstructionsLabel.Anchor = ((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
  1397.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1398.         Me.WaypointInstructionsLabel.Location = New System.Drawing.Point(11, 402)
  1399.         Me.WaypointInstructionsLabel.Name = "WaypointInstructionsLabel"
  1400.         Me.WaypointInstructionsLabel.Size = New System.Drawing.Size(376, 72)
  1401.         Me.WaypointInstructionsLabel.TabIndex = 6
  1402.         Me.WaypointInstructionsLabel.Text = "NOTE: Garmin« waypoints are supported, but the device must be manually set to the" & _
  1403.         " Garmin« binary protocol and must be connected to at 9600 baud.   Garmin« device" & _
  1404.         "s to not have the ability to change protocols programmatically."
  1405.         '
  1406.         'NewWaypointButton
  1407.         '
  1408.         Me.NewWaypointButton.Anchor = (System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right)
  1409.         Me.NewWaypointButton.Enabled = False
  1410.         Me.NewWaypointButton.FlatStyle = System.Windows.Forms.FlatStyle.System
  1411.         Me.NewWaypointButton.Location = New System.Drawing.Point(162, 348)
  1412.         Me.NewWaypointButton.Name = "NewWaypointButton"
  1413.         Me.NewWaypointButton.Size = New System.Drawing.Size(69, 24)
  1414.         Me.NewWaypointButton.TabIndex = 5
  1415.         Me.NewWaypointButton.Text = "New..."
  1416.         '
  1417.         'EditWaypointButton
  1418.         '
  1419.         Me.EditWaypointButton.Anchor = (System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right)
  1420.         Me.EditWaypointButton.Enabled = False
  1421.         Me.EditWaypointButton.FlatStyle = System.Windows.Forms.FlatStyle.System
  1422.         Me.EditWaypointButton.Location = New System.Drawing.Point(240, 348)
  1423.         Me.EditWaypointButton.Name = "EditWaypointButton"
  1424.         Me.EditWaypointButton.Size = New System.Drawing.Size(69, 24)
  1425.         Me.EditWaypointButton.TabIndex = 4
  1426.         Me.EditWaypointButton.Text = "Edit..."
  1427.         '
  1428.         'DownloadWaypointButton
  1429.         '
  1430.         Me.DownloadWaypointButton.Anchor = (System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right)
  1431.         Me.DownloadWaypointButton.Enabled = False
  1432.         Me.DownloadWaypointButton.FlatStyle = System.Windows.Forms.FlatStyle.System
  1433.         Me.DownloadWaypointButton.Location = New System.Drawing.Point(318, 348)
  1434.         Me.DownloadWaypointButton.Name = "DownloadWaypointButton"
  1435.         Me.DownloadWaypointButton.Size = New System.Drawing.Size(69, 24)
  1436.         Me.DownloadWaypointButton.TabIndex = 2
  1437.         Me.DownloadWaypointButton.Text = "Refresh"
  1438.         '
  1439.         'WaypointList
  1440.         '
  1441.         Me.WaypointList.Anchor = (((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
  1442.                                 Or System.Windows.Forms.AnchorStyles.Left) _
  1443.                                 Or System.Windows.Forms.AnchorStyles.Right)
  1444.         Me.WaypointList.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader5, Me.ColumnHeader4})
  1445.         Me.WaypointList.FullRowSelect = True
  1446.         Me.WaypointList.Location = New System.Drawing.Point(9, 111)
  1447.         Me.WaypointList.Name = "WaypointList"
  1448.         Me.WaypointList.Size = New System.Drawing.Size(378, 228)
  1449.         Me.WaypointList.TabIndex = 1
  1450.         Me.WaypointList.View = System.Windows.Forms.View.Details
  1451.         '
  1452.         'ColumnHeader1
  1453.         '
  1454.         Me.ColumnHeader1.Text = "Name"
  1455.         Me.ColumnHeader1.Width = 77
  1456.         '
  1457.         'ColumnHeader2
  1458.         '
  1459.         Me.ColumnHeader2.Text = "Latitude"
  1460.         Me.ColumnHeader2.Width = 80
  1461.         '
  1462.         'ColumnHeader3
  1463.         '
  1464.         Me.ColumnHeader3.Text = "Longitude"
  1465.         Me.ColumnHeader3.Width = 81
  1466.         '
  1467.         'ColumnHeader5
  1468.         '
  1469.         Me.ColumnHeader5.Text = "Symbol"
  1470.         '
  1471.         'ColumnHeader4
  1472.         '
  1473.         Me.ColumnHeader4.Text = "Comment"
  1474.         '
  1475.         'LocalTimeTimer
  1476.         '
  1477.         Me.LocalTimeTimer.Enabled = True
  1478.         Me.LocalTimeTimer.Interval = 250
  1479.         Me.LocalTimeTimer.SynchronizingObject = Me
  1480.         '
  1481.         'ComPortLabel
  1482.         '
  1483.         Me.ComPortLabel.Anchor = (System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right)
  1484.         Me.ComPortLabel.Location = New System.Drawing.Point(423, 57)
  1485.         Me.ComPortLabel.Name = "ComPortLabel"
  1486.         Me.ComPortLabel.Size = New System.Drawing.Size(69, 15)
  1487.         Me.ComPortLabel.TabIndex = 6
  1488.         Me.ComPortLabel.Text = "COM Port:"
  1489.         '
  1490.         'BaudRateLabel
  1491.         '
  1492.         Me.BaudRateLabel.Anchor = (System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right)
  1493.         Me.BaudRateLabel.Location = New System.Drawing.Point(423, 9)
  1494.         Me.BaudRateLabel.Name = "BaudRateLabel"
  1495.         Me.BaudRateLabel.Size = New System.Drawing.Size(69, 15)
  1496.         Me.BaudRateLabel.TabIndex = 7
  1497.         Me.BaudRateLabel.Text = "Baud Rate:"
  1498.         '
  1499.         'BaudRateComboBox
  1500.         '
  1501.         Me.BaudRateComboBox.Anchor = (System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right)
  1502.         Me.BaudRateComboBox.Items.AddRange(New Object() {"Automatic", "Automatic", "Automatic", "Automatic", "Automatic", "Automatic"})
  1503.         Me.BaudRateComboBox.Location = New System.Drawing.Point(423, 27)
  1504.         Me.BaudRateComboBox.Name = "BaudRateComboBox"
  1505.         Me.BaudRateComboBox.TabIndex = 8
  1506.         '
  1507.         'ComPortComboBox
  1508.         '
  1509.         Me.ComPortComboBox.Anchor = (System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right)
  1510.         Me.ComPortComboBox.Items.AddRange(New Object() {"Automatic", "Automatic", "Automatic", "Automatic", "Automatic", "Automatic"})
  1511.         Me.ComPortComboBox.Location = New System.Drawing.Point(423, 75)
  1512.         Me.ComPortComboBox.Name = "ComPortComboBox"
  1513.         Me.ComPortComboBox.TabIndex = 9
  1514.         '
  1515.         'GpsReceiver
  1516.         '
  1517.         '
  1518.         'Form1
  1519.         '
  1520.         Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
  1521.         Me.ClientSize = New System.Drawing.Size(508, 545)
  1522.         Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.ComPortComboBox, Me.BaudRateComboBox, Me.BaudRateLabel, Me.ComPortLabel, Me.TabControl1, Me.StatusBar, Me.StopButton, Me.StartButton})
  1523.         Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
  1524.         Me.MinimumSize = New System.Drawing.Size(100, 100)
  1525.         Me.Name = "Form1"
  1526.         Me.Text = "GPS.NET Complete Demonstration"
  1527.         Me.TabControl1.ResumeLayout(False)
  1528.         Me.RawDataTabPage.ResumeLayout(False)
  1529.         Me.PositionTabPage.ResumeLayout(False)
  1530.         Me.SatelliteTabPage.ResumeLayout(False)
  1531.         Me.DeviceTabPage.ResumeLayout(False)
  1532.         Me.SupportedWaypointFeaturesGroupBox.ResumeLayout(False)
  1533.         Me.DeviceInformationGroupBox.ResumeLayout(False)
  1534.         Me.ErrorTabPage.ResumeLayout(False)
  1535.         Me.WaypointTabPage.ResumeLayout(False)
  1536.         CType(Me.LocalTimeTimer, System.ComponentModel.ISupportInitialize).EndInit()
  1537.         Me.ResumeLayout(False)
  1538.  
  1539.     End Sub
  1540.  
  1541. #End Region
  1542.  
  1543. #Region "  Demonstration of Automatic Device Detection  "
  1544.  
  1545.     '  GpsReceiver.NET is able to search for and detect GPS devices connected to the device.
  1546.     '  This feature is recommended because it virtually removes the need to train your
  1547.     '  users on what serial ports are, and also removes the need to troubleshoot customers
  1548.     '  which do not know their correct serial port settings. 
  1549.     '
  1550.     '  To use device detection, set the Receiver.Device.Settings.ComPort property to
  1551.     '  ComPort.Automatic.  You can also use the DeviceSettingsDetector class to make your
  1552.     '  own device detection features.
  1553.  
  1554.     Private Sub GpsReceiver_DeviceDetectionStarted(ByVal sender As Object, ByVal e As System.EventArgs) Handles GpsReceiver.DeviceDetectionStarted
  1555.         ' Update the status to show that the azimuth has changed
  1556.         UpdateStatusBar("Please wait, detecting GPS devices...")
  1557.     End Sub
  1558.  
  1559.     Private Sub GpsReceiver_DeviceDetectionCompleted(ByVal sender As Object, ByVal e As System.EventArgs) Handles GpsReceiver.DeviceDetectionCompleted
  1560.         ' Update the status to show that the azimuth has changed
  1561.         UpdateStatusBar("GPS device detection has completed.")
  1562.     End Sub
  1563.  
  1564.     Private Sub GpsReceiver_DeviceDetected(ByVal sender As Object, ByVal e As StormSource.Gps.DeviceSettingsEventArgs) Handles GpsReceiver.DeviceDetected
  1565.         ' Update the status to show that the azimuth has changed
  1566.         UpdateStatusBar("A GPS device was found on " & e.DeviceSettings.ComPort.ToString & "!")
  1567.     End Sub
  1568. #End Region
  1569.  
  1570. #Region "  Starting the GPS Service  "
  1571.  
  1572.     Private Sub StartButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StartButton.Click
  1573.         ' Set the COM port and baud rate
  1574.         GpsReceiver.Device.Settings.ComPort = Me.ComPortComboBox.Value
  1575.         GpsReceiver.Device.Settings.BaudRate = Me.BaudRateComboBox.Value
  1576.         ' NOTE: It's important to add error checking around the Start() method and Enabled property
  1577.         Try
  1578.             ' Visit http://www.gpsdotnet.com/purchase for pricing and secure online ordering!
  1579.             'GpsReceiver.SetLicenseKey("[your key here]")
  1580.  
  1581.             ' Start receiving messages
  1582.             GpsReceiver.Start()
  1583.         Catch ex As UnauthorizedAccessException
  1584.             ' The trial screen was cancelled 
  1585.             MessageBox.Show(ex.ToString, "Cannot Continue Trial", MessageBoxButtons.OK, MessageBoxIcon.Error)
  1586.         Catch ex As GpsException
  1587.             ' Notify of the error
  1588.             MessageBox.Show(ex.ToString, "Unable to Begin GPS Communications", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
  1589.         End Try
  1590.     End Sub
  1591.  
  1592.     ' Raised just before a connection attempt is made
  1593.     Private Sub GpsReceiver_Connecting(ByVal sender As Object, ByVal e As DeviceSettingsEventArgs) Handles GpsReceiver.Connecting
  1594.         UpdateStatusBar("Connecting to GPS device on " & e.DeviceSettings.ComPort.ToString & "...")
  1595.     End Sub
  1596.  
  1597.     Private Sub GpsReceiver_Connected(ByVal sender As Object, ByVal e As System.EventArgs) Handles GpsReceiver.Connected
  1598.         UpdateStatusBar("Connected to GPS device, please wait...")
  1599.         ' Enable the Stop button, disable the Start button
  1600.         StopButton.Enabled = True
  1601.         StartButton.Enabled = False
  1602.         BaudRateComboBox.Enabled = False
  1603.         ComPortComboBox.Enabled = False
  1604.     End Sub
  1605.  
  1606.     Private Sub GpsReceiver_Acquiring(ByVal sender As Object, ByVal e As System.EventArgs) Handles GpsReceiver.Acquiring
  1607.         UpdateStatusBar("Please wait while satellite information is gathered...")
  1608.     End Sub
  1609.  
  1610.     ' Raised when the receiver has adjusted the baud rate in an attempt to receive GPS information
  1611.     Private Sub GpsReceiver_BaudRateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GpsReceiver.BaudRateChanged
  1612.         Select Case GpsReceiver.Device.Settings.BaudRate
  1613.             Case StormSource.Gps.BaudRate.Baud4800
  1614.                 Me.BaudRateComboBox.SelectedIndex = 0
  1615.             Case StormSource.Gps.BaudRate.Baud9600
  1616.                 Me.BaudRateComboBox.SelectedIndex = 1
  1617.         End Select
  1618.     End Sub
  1619.  
  1620.     Private Sub GpsReceiver_Timeout(ByVal sender As Object, ByVal e As System.EventArgs) Handles GpsReceiver.Timeout
  1621.         MessageBox.Show("The GPS device did not respond to commands, even after attempts to detect the correct connection settings.  The device may be powered off.  Try restarting the Receiver.", "GPS Device Timeout", MessageBoxButtons.OK, MessageBoxIcon.Hand)
  1622.     End Sub
  1623. #End Region
  1624.  
  1625. #Region "  Stopping the GPS Service  "
  1626.  
  1627.     Private Sub StopButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StopButton.Click
  1628.         GpsReceiver.Stop()
  1629.     End Sub
  1630.  
  1631.     ' Raised just before an attempt is made to disconnect from the GPS device
  1632.     Private Sub GpsReceiver_Disconnecting(ByVal sender As Object, ByVal e As DeviceSettingsEventArgs) Handles GpsReceiver.Disconnecting
  1633.         UpdateStatusBar("Disconnecting from GPS device...")
  1634.     End Sub
  1635.  
  1636.     ' Raised when the connection with the device is now closed
  1637.     Private Sub GpsReceiver_Disconnected(ByVal sender As Object, ByVal e As System.EventArgs) Handles GpsReceiver.Disconnected
  1638.         UpdateStatusBar("Disconnected from GPS device.")
  1639.         ' Reset start & stop buttons
  1640.         StartButton.Enabled = True
  1641.         PowerOffButton.Enabled = False
  1642.         DownloadWaypointButton.Enabled = False
  1643.         EditWaypointButton.Enabled = False
  1644.         NewWaypointButton.Enabled = False
  1645.         StopButton.Enabled = False
  1646.         BaudRateComboBox.Enabled = True
  1647.         ComPortComboBox.Enabled = True
  1648.     End Sub
  1649.  
  1650. #End Region
  1651.  
  1652. #Region "  Demonstration of Motion-Related GPS Events  "
  1653.  
  1654.     ' Raised when the current altitude has changed
  1655.     Private Sub GpsReceiver_AltitudeChanged(ByVal sender As Object, ByVal e As DistanceEventArgs) Handles GpsReceiver.AltitudeChanged
  1656.         UpdateStatusBar("Altitude has changed.")
  1657.         ' Are we using the Imperial or Metric system?
  1658.         If System.Globalization.RegionInfo.CurrentRegion.IsMetric Then
  1659.             ' Use the metric system
  1660.             Altitude.Text = GpsReceiver.Altitude.ToMeters.ToString
  1661.         Else
  1662.             ' Use the Imperial system
  1663.             Altitude.Text = GpsReceiver.Altitude.ToFeet.ToString
  1664.         End If
  1665.     End Sub
  1666.  
  1667.     ' Raised when the current direction of travel has changed
  1668.     Private Sub GpsReceiver_BearingChanged(ByVal sender As Object, ByVal e As AzimuthEventArgs) Handles GpsReceiver.BearingChanged
  1669.         UpdateStatusBar("Bearing has changed.")
  1670.         ' Update the bearing and compass direction
  1671.         Bearing.Text = GpsReceiver.Bearing.ToString
  1672.         ' And show the current bearing represented as a cardinal (compass) direction
  1673.         Direction.Text = GpsReceiver.Bearing.CardinalDirection.ToString
  1674.     End Sub
  1675.  
  1676.     Private Sub GpsReceiver_SpeedChanged(ByVal sender As Object, ByVal e As SpeedEventArgs) Handles GpsReceiver.SpeedChanged
  1677.         UpdateStatusBar("Speed has changed to " & e.Speed.ToString)
  1678.         ' Are we using the Imperial or Metric system?
  1679.         If System.Globalization.RegionInfo.CurrentRegion.IsMetric Then
  1680.             ' Use the Metric system
  1681.             Speed.Text = GpsReceiver.Speed.ToKilometersPerHour.ToString
  1682.         Else
  1683.             ' Use the Imperial system
  1684.             Speed.Text = GpsReceiver.Speed.ToStatuteMilesPerHour.ToString
  1685.         End If
  1686.     End Sub
  1687.  
  1688.     Private Sub GpsReceiver_PositionChanged(ByVal sender As Object, ByVal e As PositionEventArgs) Handles GpsReceiver.PositionChanged
  1689.         UpdateStatusBar("Position has changed.")
  1690.         ' Update the current latitude
  1691.         Latitude.Text = GpsReceiver.Position.Latitude.ToString
  1692.         ' Update the longitude
  1693.         Longitude.Text = GpsReceiver.Position.Longitude.ToString
  1694.     End Sub
  1695.  
  1696.     ' Raised when UTM coordinates have been reported from the GPS device
  1697.     Private Sub GpsReceiver_UtmPositionChanged(ByVal sender As Object, ByVal e As StormSource.Gps.UtmPositionEventArgs) Handles GpsReceiver.UtmPositionChanged
  1698.         UpdateStatusBar("UTM position has changed.")
  1699.         ' Update the current position (in UTM)
  1700.         UtmPosition.Text = GpsReceiver.UtmPosition.ToString
  1701.     End Sub
  1702.  
  1703. #End Region
  1704.  
  1705. #Region "  Demonstration of Precision-Related Events  "
  1706.  
  1707.     ' Raised when the accuracy of latitude/longitude measurements has changed
  1708.     Private Sub GpsReceiver_HorizontalDilutionOfPrecisionChanged(ByVal sender As Object, ByVal e As DilutionOfPrecisionEventArgs) Handles GpsReceiver.HorizontalDilutionOfPrecisionChanged
  1709.         UpdateStatusBar("Lat/long accuracy has changed to " & e.DilutionOfPrecision.ToString)
  1710.         ' Update the accuracy as it relates to latitude/longitude measurements
  1711.         HorizontalDilutionOfPrecision.Text = GpsReceiver.HorizontalDilutionOfPrecision.ToString
  1712.     End Sub
  1713.  
  1714.     ' Raised when the mean accuracy in the current latitude/longitude has changed
  1715.     Private Sub GpsReceiver_MeanDilutionOfPrecisionChanged(ByVal sender As Object, ByVal e As DilutionOfPrecisionEventArgs) Handles GpsReceiver.MeanDilutionOfPrecisionChanged
  1716.         UpdateStatusBar("General accuracy has changed to " & e.DilutionOfPrecision.ToString)
  1717.         ' Update the overall (mean) accuracy 
  1718.         MeanDilutionOfPrecision.Text = GpsReceiver.MeanDilutionOfPrecision.ToString
  1719.     End Sub
  1720.  
  1721.     ' Raised when the confidence level of altitude measurements has changed
  1722.     Private Sub GpsReceiver_VerticalDilutionOfPrecisionChanged(ByVal sender As Object, ByVal e As DilutionOfPrecisionEventArgs) Handles GpsReceiver.VerticalDilutionOfPrecisionChanged
  1723.         UpdateStatusBar("Altitude accuracy has changed to " & e.DilutionOfPrecision.ToString)
  1724.         ' Update the accuracy of altitude measurements
  1725.         VerticalDilutionOfPrecision.Text = GpsReceiver.VerticalDilutionOfPrecision.ToString
  1726.     End Sub
  1727.  
  1728.     Private Sub GpsReceiver_MagneticVariationChanged(ByVal sender As Object, ByVal e As LongitudeEventArgs) Handles GpsReceiver.MagneticVariationChanged
  1729.         UpdateStatusBar("Magnetic variation has changed")
  1730.         ' Update the magnetic variation
  1731.         MagneticVariation.Text = GpsReceiver.MagneticVariation.ToString
  1732.     End Sub
  1733.  
  1734.     Private Sub GpsReceiver_CrossTrackErrorChanged(ByVal sender As Object, ByVal e As StormSource.Gps.CrossTrackErrorEventArgs) Handles GpsReceiver.CrossTrackErrorChanged
  1735.         ' Update the cross-track error
  1736.         Me.CrossTrackError.Text = GpsReceiver.CrossTrackError.ToString
  1737.         ' Update the recommended steering direction to correct the error
  1738.         Me.RecommendedSteeringDirection.Text = GpsReceiver.CrossTrackError.RecommendedSteeringDirection.ToString
  1739.     End Sub
  1740.  
  1741. #End Region
  1742.  
  1743. #Region "  Demonstration of Exception Handling  "
  1744.     ' NOTE: This event is raised for errors which occur on separate threads within the GpsReceiver.NET engine. 
  1745.     '       Use Try..Catch blocks to handle typical GPS errors via the GPSException class.
  1746.     Private Sub GpsReceiver_ErrorOccurred(ByVal sender As Object, ByVal e As ErrorEventArgs) Handles GpsReceiver.ErrorOccurred
  1747.         ' Add the error to the top of the list
  1748.         GpsExceptionTextBox.Text = e.Exception.ToString & vbCrLf & GpsExceptionTextBox.Text
  1749.     End Sub
  1750.  
  1751.     ' This event is raised when invalid or corrupt data is received by the device.  This event only
  1752.     ' serves as a warning that some data was not 100% understood.  These
  1753.     ' errors are not typically forwarded to the user.
  1754.     Private Sub GpsReceiver_ParsingErrorOccurred(ByVal sender As Object, ByVal e As StormSource.Gps.ParsingErrorEventArgs) Handles GpsReceiver.ParsingErrorOccurred
  1755.         ' Add the error to the top of the list
  1756.         ParsingExceptionTextBox.Text = e.ParsingException.ToString & vbCrLf & ParsingExceptionTextBox.Text
  1757.     End Sub
  1758. #End Region
  1759.  
  1760. #Region "  Demonstration of Fix-Related Events  "
  1761.  
  1762.     ' Raised when the likelihood of obtaining (or sustaining) a fix has changed
  1763.     Private Sub GpsReceiver_FixLikelihoodChanged(ByVal sender As Object, ByVal e As StormSource.Gps.FixLikelihoodEventArgs) Handles GpsReceiver.FixLikelihoodChanged
  1764.         FixLikelihood.Text = e.FixLikelihood.ToString
  1765.         ' If a fix is obtained, fix likelihood indicates how stable the fix is
  1766.         If GpsReceiver.IsFixObtained Then
  1767.             UpdateStatusBar("Fix stability is now " & e.FixLikelihood.ToString)
  1768.         Else
  1769.             UpdateStatusBar("Fix likelihood is now " & e.FixLikelihood.ToString)
  1770.         End If
  1771.     End Sub
  1772.  
  1773.     Private Sub GpsReceiver_FixLost(ByVal sender As Object, ByVal e As System.EventArgs) Handles GpsReceiver.FixLost
  1774.         UpdateStatusBar("Satellite fix has been lost.")
  1775.         ' Update the magnetic variation
  1776.         FixObtained.Text = "The fix was lost."
  1777.     End Sub
  1778.  
  1779.     Private Sub GpsReceiver_FixMethodChanged(ByVal sender As Object, ByVal e As FixMethodEventArgs) Handles GpsReceiver.FixMethodChanged
  1780.         UpdateStatusBar("Satellite fix method has changed.")
  1781.         ' Update the fix method
  1782.         FixMethod.Text = GpsReceiver.FixMethod.ToString
  1783.     End Sub
  1784.  
  1785.     Private Sub GpsReceiver_FixModeChanged(ByVal sender As Object, ByVal e As FixModeEventArgs) Handles GpsReceiver.FixModeChanged
  1786.         UpdateStatusBar("Satellite fix mode has changed.")
  1787.         ' Update the magnetic variation
  1788.         FixMode.Text = GpsReceiver.FixMode.ToString
  1789.     End Sub
  1790.  
  1791.     Private Sub GpsReceiver_FixObtained(ByVal sender As Object, ByVal e As System.EventArgs) Handles GpsReceiver.FixObtained
  1792.         UpdateStatusBar("Satellite fix has been obtained!")
  1793.         ' Update the magnetic variation
  1794.         FixObtained.Text = "Fix Obtained"
  1795.     End Sub
  1796.  
  1797.     Private Sub GpsReceiver_FixQualityChanged(ByVal sender As Object, ByVal e As FixQualityEventArgs) Handles GpsReceiver.FixQualityChanged
  1798.         UpdateStatusBar("Satellite fix quality has changed")
  1799.  
  1800.         ' Update the magnetic variation
  1801.         FixQuality.Text = GpsReceiver.FixQuality.ToString
  1802.     End Sub
  1803.  
  1804. #End Region
  1805.  
  1806. #Region "  Demonstration of Satellite-Related GPS Events  "
  1807.     Private Sub GpsReceiver_SatelliteAzimuthChanged(ByVal sender As Object, ByVal e As SatelliteEventArgs) Handles GpsReceiver.SatelliteAzimuthChanged
  1808.         ' Update the list view associated with the specified satellite with the new azimuth
  1809.         SatelliteList.Items(e.Satellite.Index).SubItems(2).Text = e.Satellite.Azimuth.ToString
  1810.     End Sub
  1811.  
  1812.     Private Sub GpsReceiver_SatelliteElevationChanged(ByVal sender As Object, ByVal e As SatelliteEventArgs) Handles GpsReceiver.SatelliteElevationChanged
  1813.         ' Update the list view associated with the specified satellite with the new elevation
  1814.         SatelliteList.Items(e.Satellite.Index).SubItems(1).Text = e.Satellite.Elevation.ToString
  1815.     End Sub
  1816.  
  1817.     Private Sub GpsReceiver_SatelliteFixLost(ByVal sender As Object, ByVal e As SatelliteEventArgs) Handles GpsReceiver.SatelliteFixLost
  1818.         SatelliteList.Items(e.Satellite.Index).BackColor = Color.FromArgb(60, 255, 0, 0)
  1819.     End Sub
  1820.  
  1821.     Private Sub GpsReceiver_SatelliteFixObtained(ByVal sender As Object, ByVal e As SatelliteEventArgs) Handles GpsReceiver.SatelliteFixObtained
  1822.         SatelliteList.Items(e.Satellite.Index).BackColor = Color.FromArgb(60, 0, 255, 0)
  1823.     End Sub
  1824.  
  1825.     Private Sub GpsReceiver_SatellitePRCChanged(ByVal sender As Object, ByVal e As SatelliteEventArgs) Handles GpsReceiver.SatellitePseudoRandomCodeChanged
  1826.         SatelliteList.Items(e.Satellite.Index).Text = e.Satellite.PseudoRandomCode
  1827.     End Sub
  1828.  
  1829.     Private Sub GpsReceiver_SatelliteSignalToNoiseRatioChanged(ByVal sender As Object, ByVal e As SatelliteEventArgs) Handles GpsReceiver.SatelliteSignalToNoiseRatioChanged
  1830.         SatelliteList.Items(e.Satellite.Index).SubItems(3).Text = e.Satellite.SignalToNoiseRatio.ToString & " (" & e.Satellite.SignalToNoiseRatio.Rating.ToString & ")"
  1831.     End Sub
  1832.  
  1833.     ' Handles three events: SatelliteActiveCountChanged, SatelliteFixCountChanged, SatelliteTrackedCountChanged
  1834.     Private Sub GpsReceiver_SatelliteCountChanged(ByVal sender As Object, ByVal e As SatelliteCountEventArgs) Handles GpsReceiver.SatelliteActiveCountChanged, GpsReceiver.SatelliteFixedCountChanged, GpsReceiver.SatelliteTrackedCountChanged
  1835.         Select Case e.Type
  1836.             Case SatelliteCountType.ActiveCount
  1837.                 ActiveSatellites.Text = e.Count
  1838.             Case SatelliteCountType.FixedCount
  1839.                 FixedSatellites.Text = e.Count
  1840.             Case SatelliteCountType.TrackedCount
  1841.                 TrackedSatellites.Text = e.Count
  1842.         End Select
  1843.     End Sub
  1844. #End Region
  1845.  
  1846. #Region "  Demonstration of Raw Sentence Processing  "
  1847.  
  1848.     ' Stores information about the current sentence
  1849.     Private CurrentSentence As String
  1850.     ' Returns True if the sentence was fully understood
  1851.     Private CurrentSentenceType As SentenceType
  1852.  
  1853.     ' Adds the specified sentence to the list
  1854.     Private Sub AddSentence()
  1855.         Select Case CurrentSentenceType
  1856.             Case SentenceType.Recognized
  1857.                 ' The sentence was processed successfully
  1858.                 RecognizedSentences.Items.Add(CurrentSentence)
  1859.                 RecognizedSentences.SelectedIndex = RecognizedSentences.Items.Count - 1
  1860.                 ' Prevent too many lines from being in the list box
  1861.                 If RecognizedSentences.Items.Count > 50 Then RecognizedSentences.Items.RemoveAt(0)
  1862.             Case SentenceType.Unrecognized
  1863.                 ' The sentence contained some corrupt data, or was proprietary to a specific device
  1864.                 UnrecognizedSentences.Items.Add(CurrentSentence)
  1865.                 UnrecognizedSentences.SelectedIndex = UnrecognizedSentences.Items.Count - 1
  1866.                 ' Prevent too many lines from being in the list box
  1867.                 If UnrecognizedSentences.Items.Count > 50 Then UnrecognizedSentences.Items.RemoveAt(0)
  1868.         End Select
  1869.     End Sub
  1870.  
  1871.     ' Handles two events: SentenceReceived and UnrecognizedSentenceReceived
  1872.     Private Sub GpsReceiver_SentenceReceived(ByVal sender As Object, ByVal e As SentenceEventArgs) Handles GpsReceiver.SentenceReceived, GpsReceiver.UnrecognizedSentenceReceived
  1873.         CurrentSentence = e.Sentence
  1874.         CurrentSentenceType = e.Type
  1875.         'Debug.WriteLine(e.Sentence)
  1876.         ' Now add the sentence
  1877.         AddSentence()
  1878.     End Sub
  1879.  
  1880.     ' Raised when someone clicks on the "Parse" button.
  1881.     Private Sub ParseButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ParseButton.Click
  1882.         ' Parse the data which was entered into the text box
  1883.         Try
  1884.             GpsReceiver.Parse(ParsingText.Text)
  1885.         Catch ex As Exception
  1886.             Stop
  1887.         End Try
  1888.     End Sub
  1889. #End Region
  1890.  
  1891. #Region "  Demonstration of GPS device date/time information  "
  1892.  
  1893.     ' Updates the form with local date/time information
  1894.     Public Sub UpdateLocalTime()
  1895.         LocalTime.Text = Now.ToString
  1896.     End Sub
  1897.  
  1898.     ' Updates the form with GPS device's date/time information
  1899.     Public Sub UpdateGpsTime()
  1900.         ' NOTE: GPS devices send time in UTC.  We must convert it to local time
  1901.         UTCDateTime.Text = GpsReceiver.UtcDateTime.ToLocalTime.ToString
  1902.     End Sub
  1903.  
  1904.     ' Update the local time to show the comparison between local time and the time obtained from the GPS receiver
  1905.     Private Sub LocalTimeTimer_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles LocalTimeTimer.Elapsed
  1906.         UpdateLocalTime()
  1907.     End Sub
  1908.  
  1909.     ' Raised whenever the GPS device reports a new date/time
  1910.     ' NOTE: Several devices stop sending this information as soon as a fix is obtained!
  1911.     Private Sub GpsReceiver_UTCDateTimeChanged(ByVal sender As Object, ByVal e As DateTimeEventArgs) Handles GpsReceiver.UtcDateTimeChanged
  1912.         UpdateStatusBar("GPS date/time has changed.")
  1913.  
  1914.         ' Update the magnetic variation
  1915.         UpdateGpsTime()
  1916.     End Sub
  1917. #End Region
  1918.  
  1919. #Region "  Demonstration of Waypoints  "
  1920.  
  1921.     Private CurrentWaypoint As Waypoint
  1922.  
  1923.     ' Raised when the "Refresh" button is clicked on the Waypoints tab
  1924.     Private Sub DownloadWaypointButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DownloadWaypointButton.Click
  1925.         ' Retrieve the latest waypoints from the device (asynchronously)
  1926.         Try
  1927.             GpsReceiver.Waypoints.Refresh(True)
  1928.         Catch ex As GpsException
  1929.             MessageBox.Show(ex.ToString, "Unable to Load Waypoints", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
  1930.         End Try
  1931.     End Sub
  1932.  
  1933.     ' Raised when a new waypoint is selected
  1934.     Private Sub WaypointList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WaypointList.SelectedIndexChanged
  1935.         ' Enable the Edit button
  1936.         EditWaypointButton.Enabled = True
  1937.     End Sub
  1938.  
  1939.     ' Raised when the "New..." button is clicked on the Waypoints tab
  1940.     Private Sub NewWaypointButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewWaypointButton.Click
  1941.         ' Make a new waypoint form
  1942.         Dim WaypointForm As New NewWaypointForm()
  1943.         ' Tell the form what kind of GPS device we're using
  1944.         WaypointForm.Device = GpsReceiver.Device
  1945.         ' Show the form
  1946.         WaypointForm.Show()
  1947.     End Sub
  1948.  
  1949.     ' Raised when the "Edit..." button is clicked on the Waypoints tab
  1950.     Private Sub EditWaypointButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EditWaypointButton.Click
  1951.         ' Get the waypoint that was clicked 
  1952.         Dim SelectedWaypoint As Waypoint = GpsReceiver.Waypoints(WaypointList.SelectedItems(0).Text)
  1953.         ' Make a new editor form
  1954.         Dim EditForm As New EditWaypointForm()
  1955.         ' Tell this form to edit the selected waypoint
  1956.         EditForm.Waypoint = SelectedWaypoint
  1957.         ' Show the form
  1958.         EditForm.Show()
  1959.     End Sub
  1960.  
  1961.     ' Raised when a waypoint is double-clicked
  1962.     Private Sub WaypointList_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WaypointList.DoubleClick
  1963.         ' Is anything selected?
  1964.         If WaypointList.SelectedItems.Count = 0 Then Exit Sub
  1965.         ' Open the selected item
  1966.         EditWaypointButton_Click(sender, e)
  1967.     End Sub
  1968.  
  1969.     Private Sub UpdateOriginWaypoint()
  1970.         'Me.OriginWaypoint.Text = e.Waypoint.ToString
  1971.     End Sub
  1972.  
  1973.     Private Sub UpdateDestinationWaypoint()
  1974.         'Me.DestinationWaypoint.Text = e.Waypoint.ToString
  1975.     End Sub
  1976.  
  1977.     Private Sub UpdateClearWaypointList()
  1978.         DownloadWaypointButton.Enabled = False
  1979.         WaypointList.Items.Clear()
  1980.     End Sub
  1981.  
  1982.     Private Sub UpdateCompleteWaypointList()
  1983.         DownloadWaypointButton.Enabled = True
  1984.     End Sub
  1985.  
  1986.     ' Adds the specified sentence to the list
  1987.     Private Sub AddWaypoint()
  1988.         Dim WaypointListItem As ListViewItem
  1989.         ' Does this waypoint already exist in the list view?
  1990.         If WaypointItemExists(CurrentWaypoint.Name) Then
  1991.             ' Yes. Update the existing list view item
  1992.             WaypointListItem = GetWaypointItem(CurrentWaypoint.Name)
  1993.             WaypointListItem.SubItems(0).Text = CurrentWaypoint.Latitude.ToString
  1994.             WaypointListItem.SubItems(1).Text = CurrentWaypoint.Longitude.ToString
  1995.             WaypointListItem.SubItems(2).Text = CurrentWaypoint.Symbol.ToString
  1996.             WaypointListItem.SubItems(3).Text = CurrentWaypoint.Description
  1997.         Else
  1998.             ' No. Make a new list view item
  1999.             WaypointListItem = WaypointList.Items.Add(CurrentWaypoint.Name)
  2000.             WaypointListItem.SubItems.Add(CurrentWaypoint.Latitude.ToString)
  2001.             WaypointListItem.SubItems.Add(CurrentWaypoint.Longitude.ToString)
  2002.             WaypointListItem.SubItems.Add(CurrentWaypoint.Symbol.ToString)
  2003.             WaypointListItem.SubItems.Add(CurrentWaypoint.Description)
  2004.         End If
  2005.     End Sub
  2006.  
  2007.     ' Raised just before the collection of waypoints is re-downloaded
  2008.     Private Sub GpsReceiver_WaypointDownloadBegins(ByVal sender As Object, ByVal e As System.EventArgs) Handles GpsReceiver.WaypointDownloadBegins
  2009.         UpdateClearWaypointList()
  2010.     End Sub
  2011.  
  2012.     ' Returns True if the waypoint name currently exists in the WaypointList list view
  2013.     Private Function WaypointItemExists(ByVal name As String) As Boolean
  2014.         Dim WaypointListViewItem As ListViewItem
  2015.         For Each WaypointListViewItem In WaypointList.Items
  2016.             If WaypointListViewItem.Text = name Then Return True
  2017.         Next
  2018.     End Function
  2019.  
  2020.     ' Returns the waypoint list item associated with the specified waypoint name
  2021.     Private Function GetWaypointItem(ByVal name As String) As ListViewItem
  2022.         Dim WaypointListViewItem As ListViewItem
  2023.         For Each WaypointListViewItem In WaypointList.Items
  2024.             If WaypointListViewItem.Text = name Then Return WaypointListViewItem
  2025.         Next
  2026.     End Function
  2027.  
  2028.     ' Raised when one waypoint has been downloaded from the GPS device
  2029.     Private Sub GpsReceiver_WaypointDownloaded(ByVal sender As Object, ByVal e As StormSource.Gps.WaypointEventArgs) Handles GpsReceiver.WaypointDownloaded
  2030.         ' Set the current waypoint
  2031.         CurrentWaypoint = e.Waypoint
  2032.         ' And add it to the List View
  2033.         AddWaypoint()
  2034.     End Sub
  2035.  
  2036.     ' Raised when the last waypoint has been downloaded from the device
  2037.     Private Sub GpsReceiver_WaypointDownloadEnds(ByVal sender As Object, ByVal e As System.EventArgs) Handles GpsReceiver.WaypointDownloadEnds
  2038.         ' Re-enable the Refresh button
  2039.         UpdateCompleteWaypointList()
  2040.     End Sub
  2041.  
  2042.     Private Sub GpsReceiver_DestinationWaypointArrivalAlarm(ByVal sender As Object, ByVal e As StormSource.Gps.WaypointEventArgs) Handles GpsReceiver.DestinationWaypointArrivalAlarm
  2043.         Stop
  2044.     End Sub
  2045.  
  2046.     Private Sub GpsReceiver_DestinationWaypointChanged(ByVal sender As Object, ByVal e As StormSource.Gps.WaypointEventArgs) Handles GpsReceiver.DestinationWaypointChanged
  2047.         ' Update the destination waypoint
  2048.         '        Me.Invoke(New WaypointEventHandler(AddressOf UpdateDestinationWaypoint))
  2049.     End Sub
  2050.  
  2051.     Private Sub GpsReceiver_OriginWaypointChanged(ByVal sender As Object, ByVal e As StormSource.Gps.WaypointEventArgs) Handles GpsReceiver.OriginWaypointChanged
  2052.         ' Update the origin waypoint
  2053.         '    Me.Invoke(New WaypointEventHandler(AddressOf UpdateOriginWaypoint))
  2054.     End Sub
  2055. #End Region
  2056.  
  2057. #Region "  Demonstration of GPS Device Identification  "
  2058.  
  2059.     ' Raised when GpsReceiver.NET is able to identify this device uniquely from any other device
  2060.     Private Sub GpsReceiver_DeviceIdentified(ByVal sender As Object, ByVal e As StormSource.Gps.DeviceEventArgs) Handles GpsReceiver.DeviceIdentified
  2061.         UpdateDeviceInformation()
  2062.     End Sub
  2063.  
  2064.     Private Sub GpsReceiver_ProtocolChanged(ByVal sender As Object, ByVal e As StormSource.Gps.DeviceEventArgs) Handles GpsReceiver.ProtocolChanged
  2065.         UpdateDeviceInformation()
  2066.     End Sub
  2067.  
  2068.     Private Sub GpsReceiver_ManufacturerChanged(ByVal sender As Object, ByVal e As StormSource.Gps.DeviceEventArgs) Handles GpsReceiver.ManufacturerChanged
  2069.         UpdateDeviceInformation()
  2070.     End Sub
  2071.  
  2072.     Private Sub GpsReceiver_ProductNameChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GpsReceiver.ProductNameChanged
  2073.         UpdateDeviceInformation()
  2074.     End Sub
  2075.  
  2076.     Private Sub GpsReceiver_BatteryLifeChanged(ByVal sender As Object, ByVal e As StormSource.Gps.TimeSpanEventArgs) Handles GpsReceiver.BatteryLifeChanged
  2077.         UpdateDeviceInformation()
  2078.     End Sub
  2079.  
  2080.     ' Updates the form on the form's thread
  2081.     Private Sub UpdateDeviceInformation()
  2082.         Try
  2083.             ' Update device indentification information
  2084.             Me.Manufacturer.Text = GpsReceiver.Device.Manufacturer.ToString
  2085.             Me.DeviceName.Text = GpsReceiver.Device.Name
  2086.             Me.SoftwareVersion.Text = GpsReceiver.Device.SoftwareVersion
  2087.             Me.Protocol.Text = GpsReceiver.Device.Protocol.ToString
  2088.             Me.BatteryLife.Text = GpsReceiver.Device.BatteryLife.ToString
  2089.             ' Update waypoint capabilities
  2090.             Me.WaypointAddressCheckbox.Checked = GpsReceiver.Device.SupportsWaypointAddress
  2091.             Me.WaypointAltitudeCheckbox.Checked = GpsReceiver.Device.SupportsWaypointAltitude
  2092.             Me.WaypointCityCheckbox.Checked = GpsReceiver.Device.SupportsWaypointCity
  2093.             Me.WaypointColorCheckbox.Checked = GpsReceiver.Device.SupportsWaypointColor
  2094.             Me.WaypointCommentCheckbox.Checked = GpsReceiver.Device.SupportsWaypointComment
  2095.             Me.WaypointCountryCheckbox.Checked = GpsReceiver.Device.SupportsWaypointCountry
  2096.             Me.WaypointIntersectingRoadCheckbox.Checked = GpsReceiver.Device.SupportsWaypointIntersectingRoad
  2097.             Me.WaypointDepthCheckbox.Checked = GpsReceiver.Device.SupportsWaypointDepth
  2098.             Me.WaypointDisplayModeCheckbox.Checked = GpsReceiver.Device.SupportsWaypointDisplayMode
  2099.             Me.WaypointFacilityNameCheckbox.Checked = GpsReceiver.Device.SupportsWaypointFacility
  2100.             Me.WaypointStateCheckbox.Checked = GpsReceiver.Device.SupportsWaypointState
  2101.             Me.WaypointSymbolCheckbox.Checked = GpsReceiver.Device.SupportsWaypointSymbol
  2102.  
  2103.             ' To make features stand out more, enable/disable the checkbox
  2104.             Me.WaypointAddressCheckbox.Enabled = Me.WaypointAddressCheckbox.Checked
  2105.             Me.WaypointAltitudeCheckbox.Enabled = Me.WaypointAltitudeCheckbox.Checked
  2106.             Me.WaypointCityCheckbox.Enabled = Me.WaypointCityCheckbox.Checked
  2107.             Me.WaypointColorCheckbox.Enabled = Me.WaypointColorCheckbox.Checked
  2108.             Me.WaypointColorComboBox.Enabled = Me.WaypointColorCheckbox.Checked
  2109.             Me.WaypointCommentCheckbox.Enabled = Me.WaypointCommentCheckbox.Checked
  2110.             Me.WaypointCountryCheckbox.Enabled = Me.WaypointCountryCheckbox.Checked
  2111.             Me.WaypointIntersectingRoadCheckbox.Enabled = Me.WaypointIntersectingRoadCheckbox.Checked
  2112.             Me.WaypointDepthCheckbox.Enabled = Me.WaypointDepthCheckbox.Checked
  2113.             Me.WaypointDisplayModeCheckbox.Enabled = Me.WaypointDisplayModeCheckbox.Checked
  2114.             Me.WaypointDisplayModeComboBox.Enabled = Me.WaypointDisplayModeCheckbox.Checked
  2115.             Me.WaypointFacilityNameCheckbox.Enabled = Me.WaypointFacilityNameCheckbox.Checked
  2116.             Me.WaypointStateCheckbox.Enabled = Me.WaypointStateCheckbox.Checked
  2117.             Me.WaypointSymbolCheckbox.Enabled = Me.WaypointSymbolCheckbox.Checked
  2118.             Me.WaypointSymbolComboBox.Enabled = Me.WaypointSymbolCheckbox.Checked
  2119.             ' Update available waypoint symbols
  2120.             WaypointSymbolComboBox.Items.Clear()
  2121.             WaypointSymbolComboBox.Items.AddRange(GpsReceiver.Device.GetSymbols)
  2122.             WaypointSymbolComboBox.SelectedIndex = 0
  2123.             ' Update available waypoint colors
  2124.             WaypointColorComboBox.Items.Clear()
  2125.             WaypointColorComboBox.Items.AddRange(GpsReceiver.Device.GetColors)
  2126.             WaypointColorComboBox.SelectedIndex = 0
  2127.             ' Update available waypoint display modes
  2128.             WaypointDisplayModeComboBox.Items.Clear()
  2129.             WaypointDisplayModeComboBox.Items.AddRange(GpsReceiver.Device.GetDisplayModes)
  2130.             WaypointDisplayModeComboBox.SelectedIndex = 0
  2131.             ' Enable/disable features based on the protocol
  2132.             Me.PowerOffButton.Enabled = (GpsReceiver.Device.Protocol = StormSource.Gps.Protocol.GarminBinary)
  2133.             Me.NewWaypointButton.Enabled = (GpsReceiver.Device.Protocol = StormSource.Gps.Protocol.GarminBinary)
  2134.             Me.DownloadWaypointButton.Enabled = (GpsReceiver.Device.Protocol = StormSource.Gps.Protocol.GarminBinary)
  2135.         Catch ex As Exception
  2136.         End Try
  2137.     End Sub
  2138.  
  2139. #End Region
  2140.  
  2141. #Region "  Demonstration of powering off a GPS device  "
  2142.     ' NOTE: Currently, the PowerOff() method is only supported when using the Garmin« 
  2143.     '       binary protocol. Set your device to use the Garmin protocol before using this method.
  2144.     Private Sub PowerOffButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PowerOffButton.Click
  2145.         ' Confirm that the device should be powered off
  2146.         Select Case MessageBox.Show("When you turn off the GPS device, you will need to turn it back on manually.  Do you still want to power off the device?", "GPS Device Power-Off", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)
  2147.             Case DialogResult.Yes
  2148.                 Try
  2149.                     ' Try to power off the device.  If the device is not using the Garmin« protocol, this will fail
  2150.                     GpsReceiver.Device.PowerOff()
  2151.                 Catch ex As GpsException
  2152.                     ' The power-off failed
  2153.                     MessageBox.Show("The device must be set to the Garmin« protocol in order for it to be shut off.  Please change the protocol and try again.", "Unable to Power Off", MessageBoxButtons.OK, MessageBoxIcon.Warning)
  2154.                 End Try
  2155.         End Select
  2156.     End Sub
  2157. #End Region
  2158.  
  2159. #Region "  Demonstration of Viewer Rotation  "
  2160.  
  2161.     Private RotateThread As System.Threading.Thread
  2162.  
  2163.     Private Sub UpdateRotation()
  2164.         Do While True
  2165.             ' Increase the rotation angle by half a degree
  2166.             SatelliteViewer.Bearing += 0.4
  2167.             ' Sleep for 50ms
  2168.             RotateThread.Sleep(30)
  2169.         Loop
  2170.     End Sub
  2171.  
  2172.     Private Sub FlickerFreeDemoCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FlickerFreeDemoCheckBox.CheckedChanged
  2173.         If FlickerFreeDemoCheckBox.Checked Then
  2174.             ' Enable the rotation
  2175.             RotateThread = New System.Threading.Thread(New System.Threading.ThreadStart(AddressOf UpdateRotation))
  2176.             RotateThread.Name = "Demo of Rotating Satellite Viewer"
  2177.             RotateThread.IsBackground = True
  2178.             RotateThread.Start()
  2179.         Else
  2180.             ' Disable the rotation
  2181.             If Not RotateThread Is Nothing Then
  2182.                 RotateThread.Abort()
  2183.                 RotateThread = Nothing
  2184.             End If
  2185.             ' Reset the rotation to zero
  2186.             SatelliteViewer.Bearing = GpsReceiver.Bearing.DecimalDegrees
  2187.         End If
  2188.     End Sub
  2189.  
  2190. #End Region
  2191.  
  2192. #Region "  Demonstration of Viewer Customization  "
  2193.  
  2194.     Private Sub ShowPrcCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ShowPrcCheckBox.CheckedChanged
  2195.         SatelliteViewer.IsSatellitePrcVisible = ShowPrcCheckBox.Checked
  2196.     End Sub
  2197.  
  2198.     Private Sub ShowCompassCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ShowCompassCheckBox.CheckedChanged
  2199.         SatelliteViewer.IsCompassVisible = ShowCompassCheckBox.Checked
  2200.     End Sub
  2201. #End Region
  2202.  
  2203. #Region "  (Miscellaneous Form Events)  "
  2204.  
  2205.     ' Stores information about current activity going on with the GPS device
  2206.     Public CurrentStatus As String
  2207.  
  2208.     ' Used to update the status bar
  2209.     Public Sub UpdateStatusBar(ByVal description As String)
  2210.         StatusBar.Text = description
  2211.     End Sub
  2212.  
  2213.     Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2214.         ' Bind the SatelliteViewer to the GPS receiver
  2215.         SatelliteViewer.Receiver = GpsReceiver
  2216.     End Sub
  2217.  
  2218.     Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
  2219.         ' Stop GPS services
  2220.         GpsReceiver.Stop()
  2221.         ' Clean up by disposing of resources
  2222.         LocalTimeTimer.Dispose()
  2223.         GpsReceiver.Dispose()
  2224.     End Sub
  2225.  
  2226. #End Region
  2227.  
  2228. End Class
  2229.